Language facilities, how do we map them?

Recently, a user started to edit the name tag of municipalites with language facilities. This showed us that at the moment our consensus isn’t well documented on the wiki page (1, 2) , and the situation isn’t always consistently mapped.

First, I suggest we try to figure out how the situation is generally mapped at the moment. I have made a wiki table listing all municipalties with their relations and nodes. Perhaps we can let a script go over this and let it summarize how the current ‘name’ tag is used? If we find a consensus, we then document this on the wiki page.

  • name tag in municipality boundary relation of admin_level=8 and admin_level=9
  • name tag in node with place=* within these municipalities
  • street names
  • … anything else?

Second, when we have that, we can try to bring some consistency in how it’s currently mapped. At first view, I think it’s currently fairly consistently mapped, except for some cases.

1 Like

A few more things to consider if we want to apply bilingual names:

  1. If we change the name tag of streets, we should expect to change addr:street accordingly. Not doing this would result in thousands of error flags in Osmose or Nominatim QA, for instance.
    But is it okay to consider that addresses are also bilingual?

  2. Town halls, police stations, OCMW/CPAS offices… and all departments run by municipalities. We would expect bilingual names here too. Probably also on parks.

  3. Should we also have bilingual names on train and bus stops?
    e.g. TEC query from Mouscron/Moeskroen to Ronse/Renaix: they provide the names of stops in both languages, even correctly applying the language order

One thing we could also clarify is whether the “This municipality prints street signs in both languages”-criteria is still relevant or if all the municipalities with facilities should be treated identically.

Side question: How can we obtain the translations in the minority language for places where street signs are only printed in one language? (e.g. Eupen).

What is preventing you from adding a name in another language using the name:lang_code=translated street name?

Nothing is preventing that, and it is happening. We’re mostly discussing what goes into name=* itself. However, OSM international consensus is, the name tag is for the local language. In Brussel, there is no one local language - it is truly bilingual. However, we also have municipalities with facilities for Dutch (if it is in the French speaking part of the country) and for French (if it is in the Dutch part of the country). Facilities do not a bilingual region make, so IMHO we got things right in most municipalities that are disjoint from Brussels (where we have name with the official language and name:* for any signage in the other language). However, because of the nearness of Brussels - and the de facto bilingual (or even mostly French speaking) nature of them, the facility municipalities near Brussels follow the Brussels model. I think this is a mistake, and is the whole reason we have the current confusion.

You could say “on the ground is bilingual, so so should the name”. I think that’s not a good argument, as then we’d also be adding local dialect names that are often signed to the name itself. So I think the matter hinges on whether or not we consider the facilitated language “official” or not. I think the law probably says it is not (but that might be a point of political discussion), but even then, we as a community could decide it is “official enough” to be included where signposted. In any case, the language isn’t any more or less official near Brussels, so we should harmonize on one solution in the whole country.

1 Like

Good morning all! :wink:

IMHO, the name=* should be fully in accordance with the ground truth as per initial OSM rules (not only in Belgium, but also in the whole world).
Most maps nowadays do not reflect that, and OSM is perhaps the only one that could do that in an efficient way.
“Local language” is a very vague notion, because this can open a Pandora box and create a total mess in name=* tags. Example in Belgium: Sint-Genesius-Rode / Rhode-Saint-Genèse. In theory, it is in Flanders, but the majority of its inhabitants are French-speaking.

I can extend this discussion to many examples in Europe. For instance, in Lithuania, almost the whole Vilnius region is Polish-speaking, but all roadsigns are in Lithuanian. If I sign according to the “local language”, I’d have to put in the name=* tag Polish names (“Soleczniki” instead of “Šalčininkai”, “Wielkie Sioło” instead of “Didžiasalis”, etc.) although those Polish names don’t appear on those official roadsigns (I don’t say they shouldn’t, but that’s another debate which is more on the political level than on the OSM level). That would create a huge mess, and yet again rise to political levels.

This reasoning with “local language” made Belarusians sign their whole country in Russian (most people there speak it) until 2022, although the vast majority of roadsigns, bus stops, metro stations etc. are in Belarusian. People from abroad (including Russia itself!) were totally confused when arriving to a metro station called “Kastryčnickaja” (Belarusian) when their map said “Oktyarbrskaya” (Russian). This fortunately changed with the war in Ukraine.

Europe is a multilingual continent, where you don’t need to drive very far to see another language, culture, architecture … Our role is not to do politics, but to reflect the reality as is on our maps :wink: Leave politics to politicians, history to historians, and maps to mappers :wink:

I think “local language” means the local official language. Street signs tend to follow the official language, and sometimes also show local dialects. Following what is on the signs without a further filter seems dangerous. In the case of Sint-Genesius-Rode it shows the official language and the “facilitated” language. I wouldn’t mind if we elevate facilitated language to “official language” status, but then it has to be for all facility municipalities IMHO.

Note that “rendering problems” are just that. Wherever the data is available, it is probably useful to show the street names in Dutch to Dutch speaker and French to a French speaker, as they are most likely to remember the name in their own language. But that’s just a rendering issue, not something we have to fix in the database.


Where the second name is present on the signs, I don’t really care one way or another. The double name has its pros (facilitating the facility-language speakers, map what a tourist finds on the ground) and cons (slightly more difficult to work with name=* and addr:street; may not be politically right).

But! Where the other name is not present on the signs, a bilingual name=* just for the sake of consistency between all facility municipalities, that doesn’t make a lot of sense to me.

So basically there are two proposals on the floor:

  • only use name=NL-FR (and variations) if it’s a properly bilingual area (i.e. Brussels) AND the street names are signposted in both languages. This implies we follow the current wiki, but the facility municipalities around Brussels need to be updated to reflect that old consensus.
  • only use name=NL-FR if it is officially bilingual or a facility municipality AND the names are signposted in both languages

Right? If so, we could do a vote on this.

Yes, I think we should do a vote on this.That’s a good idea.

In the mean time, I made a small bash script that gathers current name:= tags of all facility municipalities and puts it in a wiki table. Just so we have a clear view of how the current situation is. (Keep in mind, some facility municipalities don’t have both languages in the name, simple because there’s no difference in spelling in both languages.) The table is here: Talk:WikiProject Belgium/Conventions/Places - OpenStreetMap Wiki

That’s a good remark. I assume yes, if we decide to change some street names, then yes we also need to change the addr:street.

Depending on the vote result… But if it turns out option 2 of Joost is voted, the I would assume yes, also public transport gets both names. Basically anything that is signposted in both languages.

Just adding this for reference: Note: 4063654 | OpenStreetMap
Some German speakers would not be happy with a possible change of the current rules, it seems.

Since someone pointed out in the OSM Belgium Matrix space that there hasn’t been too much community input on this topic, I’ll also share my thoughts here.

I would personally prefer to have names in both languages present in the name=* tag in the case of facility municipalities (so this would be the latter option proposed by @joost_schouppe). The main advantages I see are as follows:

  • It reflects the “on the ground” truth. As far as I know, in many facility municipalities, street names are signposted in both languages.
  • Out of both options, it presents the most information to the end user. Yes, names can be translated by the renderer, but they are not guaranteed to be. For example, the “standard tile layer” on the OSM website (OSM Carto) does not display name:<language code>=* by default (at least not in my browser). The value in the name=* tag does not invalidate the values in the name:<language code>=* tags in any way, but does present additional information in renderers that do not translate names.

Some other remarks:

  • Bus stop names aren’t always translated. For example, Vredeplein in Kraainem is translated into French as « Place de la Paix », but the bus stop name “Kraainem Vredeplein” (De Lijn) is not translated. There are also cases where names are identical in both languages (e.g. Evere De Lombaerde), or only the name of the municipality is translated, not the name of the stop itself (e.g. Schaerbeek/Schaarbeek Meiser). These are not necessarily limited to Brussels, but might arise when the stop name isn’t referring to a street name, but, for example, to a person.
  • This situation isn’t limited to municipalities around Brussels or Dutch/French names. There’s also French/Dutch cases (e.g. Comines/Komen) and the East Cantons.
  • As for street names signposted in a local dialect: in my opinion this isn’t a comparable situation. There’s a fundamental difference between languages and dialects. A dialect is “a variety of a language that is characteristic of a particular area, community or social group” (Wiktionary). Dialects also often don’t have standardised spelling, and their relevance in a global context is significantly lower.

Again, these are just my personal thoughts :slightly_smiling_face:

Bilingual signs do not imply that both languages should go in the main name tag. The name tag is for the main name and does/should not need to contain all signed names. Outside of Brussels, in areas with language facilities, it is obvious which of the signed multilingual names name:nl/name:fr/name:de is the main one that should go into name.

In the Netherlands, in the province of Fryslân, we likewise have many multilingual place names as name:nl and name:fy, and name contains only the main name in the official language, even if multiple names are signed.

Note that you can use name:*:signed=yes to indicate the languages in which names are signed, if one is interested in recording this.

I vote for option 2, written in the message of @joost_schouppe
“only use name=NL-FR if it is officially bilingual or a facility municipality AND the names are signposted in both languages”

There seems to be consensus on this condition: the names are signposted in both languages. So if the signposts only have one language, so does name=*.

Vote: What should be the condition for a bilingual name=*, in addition to the signs having both languages?
:laughing: It’s officially a bilingual area (that’s only Brussels).
:open_mouth: It’s officially a bilingual area or a facility municipality (e.g. Brussels, Ronse, Enghien, Kelmis…).
:hugs: I don’t really care one way or another.
:angry: I don’t agree with these options/this vote. Please also reply then.

Cast a vote by reacting with the emoji corresponding to your choice.

1 Like

In my opinion, we should user name=bilingual AND name:fr AND name:nl in brussels and in facility municipalities. Because search engines does not recognize easily the bilingual name.

The main search engine for OpenStreetMap, Nominatim, has full support for multilingual names.

1 Like

You are right. I should write with OsmAnd.

You can test that with Maquisstraat - Rue du Maquis not found if you search by french name.
name=Maquisstraat - Rue du Maquis

But with Tombele - Tombelle , the french name search is found. i suppose because name:fr

name=Tombele - Tombelle

Streets Location