Rename "place:fr=*" to "place:CA=*" ?
As the "place:fr=*" actually does not encode the French language but the Canadian classification, I think this should really be "place:CA=*"... except that the listed values are named in French. For English-speaking canadians, the "place=*" values does not encode the Canadian status but the common OSM practice, they can only use for now the "place:fr=*" tag with its calue in French (including accents like in "municipalité")
I suggest then place:CA=<status code in English>. The actual translation of the status code to French or even English is probably not needed in the OSM database, it should be made by renderers depending on the locales they work with (like all other classification tags: only "name=*" and related tags use language code suffixes in lowercase, all other tags use regional codes suffix written in capitals, preferably from ISO 3166 if possible).
This would give:
- "place:fr=ville" remapped to "place:CA=city"
- "place:fr=municipalité"remapped to "place:CA=municipality"
- "place:fr=village"remapped to "place:CA=village"
- "place:fr=canton"remapped to "place:CA=canton"
- "place:fr=paroisse"remapped to "place:CA=parish"
Or because this is not really the classification of places, but the official status of the geopolitical entity, it could be instead:
- "place:fr=ville" remapped to "status:CA=city"
- "place:fr=municipalité" remapped to "status:CA=municipality"
- "place:fr=village" remapped to "status:CA=village" (is it really the status or just a subdivision within a municipality? There may be other statuses for what is cyrrently encoded as "place=suburb" with the OSM classification based on population)
- "place:fr=canton" remapped to "status:CA=canton"
- "place:fr=paroisse" remapped to "status:CA=parish"
Other values are also possible in Canada for native aboriginal villages (not just in territories, but as well within provinces, e.g, in the North of Quebec or Ontario, or or in spread enclaves working locally with different statuses)
The statuses of main subentities of Canada may also be encoded. For now in OSM they are all given the same "place=state" for nodes, and "boundary=administrative"+"admin_level=3" for relations, but they could be distinguished:
- "status:CA=province", "status:CA=territory"
- "status:CA=city", "status:CA=municipality", ...
- possibly other "status:CA=*" for native aboriginal communities (within provinces and/or territories) if they don't work as municipalities, or span partly one or several municipalities with which they may coexist on the same land but with a recognized authority on some domains of public interest.
Or more generally for a key usable in all countries, we could use the country code only as a prefix of values:
- "official_status=CA:province", "official_status=CA:territory"
- "official_status=CA:city", "official_status=CA:municipality", ...
- possibly other "official_status=CA:*" for native aboriginal communities (within provinces and/or territories) if they don't work as municipalities, or span partly one or several municipalities with which they may coexist on the same land but with a recognized authority on some domains of public interest.
For this last proposal, as all values are prefixed by a country code, an offical status name could be used in its native language, and those values would not need to be approximately translated to English, when English is not official in that place. Butr even in English-speaking countries, the same terms sometimes cover different meanings (same remark for the actual menaing of "canton" in French, depending on whever we are in France, Switzerland, or Canada), and the country prefix allows distinguishing those unrelated statuses. If needed the country code prefix could even be a subnational region code: in federated countries, such as Spain, Belgium, Germany, Canada, China, India, Brasil, USA, or Russia, each subnational entity may define its own list of statuses for its own subentities, governed by different laws and official terminologies which are difficult to translate or consider as equivalent even if they use the same term in the same language (and that's why the OSM place=* is useful in order to find entities which are comparable in terms of importance or many visible aspects).