|Feature : Multilingual names|
|Keys and tags that are used with language postfix|
There are various situations where we need to handle multilingual names, where a feature has different names in different languages. This is very common for the names of major world cities. In some regions, places and streets have names in all local languages. People will also want to render maps in a specific language (Map Internationalization).
Names#Localization is the primary documentation describing how to use Key:name with a language code. People seem to generally agree on using name:code=* where code is a lowercase language's ISO 639-1 alpha2 code (second column), or a lowercase ISO 639-2 code if an ISO 639-1 code doesn't exist.
- 1 Issues
- 2 Australia
- 3 Bahrain
- 4 Belarus
- 5 Belgium
- 6 Bulgaria
- 7 China
- 8 Cornwall
- 9 Croatia
- 10 Ethiopia
- 11 Finland
- 12 France
- 13 Germany
- 14 Greece
- 15 Haiti
- 16 Hawaiʻi
- 17 Hong Kong
- 18 India
- 19 Iran
- 20 Ireland (Republic)
- 21 Isle of Man
- 22 Italy
- 23 Japan
- 24 Korea
- 25 Kuwait
- 26 Lebanon
- 27 Luxembourg
- 28 Macau
- 29 Macedonia
- 30 Morocco
- 31 Netherlands
- 32 New Zealand
- 33 Northern Ireland
- 34 Norway
- 35 Poland
- 36 Portugal
- 37 Qatar
- 38 Romania
- 39 Russian Federation
- 40 Scotland
- 41 Serbia
- 42 Slovakia
- 43 Slovenia
- 44 Spain
- 45 Switzerland
- 46 Taiwan
- 47 Thailand
- 48 Tunisia
- 49 Ukraine
- 50 United Arab Emirates
- 51 Uzbekistan
- 52 Vietnam
- 53 Wales
- 54 Shared boundary features
- what should the plain name=* tag be (local name, at least if not disputed), and how to specify the language that the name tag is in.
- how to specify transliterations. It has been proposed to use a key of name:code_trans where code is as above and trans specifies the transliteration, both being separated by an underscore.
There doesn't appear to be a standard list of transliteration codes.But avoid transliteration except in special cases.
- Also avoid using codes used by Wikipedia (or collected in Wikidata in list of Wikipedia articles) for its interwiki links if they are not standard BCP 47 locale tags: their meaning is only to differenciate the Wikipedia editions as they are in fact mapped to valid subdomain names (which are not restricted to be using only BCP 47 locale tags but can be any "word"), or are used in some Wikipedia extensions; most of these non-compliant codes are slowly being phased out and replaced in Wikimedia projects; this includes "en-simple" (use "en" only), "sr-ec"
(use "sr-cyrl"), but also some codes which were incorrectly asssigned and that represent in fact other languages (such as "nrm" incorrectly used for Norman in Wikipedia). OSM data should not include these imported dirty quirks: replace them by BCP 47 compliant codes (or append "private use" extension subtags defined in BCP 47, for example "en-x-simple" instead of "en-simple" if you really need a distinction from "en" for standard English).
- Note: BCP 47 locale subtags are not case-sensitive (even if they have recommanded casing), and OSM data should use tags with key "name:code" where the code is a complete locale tag compliant to the BCP47 standard, in their prefered form (excluding aliases defined in the IANA registry and deprecated or replaced tags or subtags), but only using lowercase letters (including in locale subtags for scripts and regions).
- Keep uppercase codes used only for naming prefixes or suffixes in region specific tags (that are also independant of the language used): use preferably ISO 3166 codes in this case.
On this page we give some country by country information particularly regarding the language used in the main 'name' tag. See Exonyms for some examples.
Please use the general tag name:aus=* (
aus is the general ISO639-2 code for Australian Aboriginal Languages) to indicate the indigenous names of places, unless a more correct suffix is known (such as name:xwj=* for Whadjuk which is a Nyungar language, or name:nys=* for Nyungar). It would be useful to do this even when the generally used name is indigenous, to allow for a potential indigenous rendering of our maps.
Belarus has two official languages (Belarusian and Russian), Belarusian language has two variants (Classical and Official). As russian language is used more widely, community decided that the name=* tag value should be in russian if it exists and make sense. A russian name value also should be duplicated in name:ru=* tag, belarusian official should be in name:be=*, belarusian classical optionaly in name:be-tarask=*, int_name=* transliterated from name:be=*.
Belgium has three official languages (Dutch, French and German) and four language areas (Brussels is considered a separate, bilingual French-Dutch area), see the map.
Brussels is completely bi-lingual, which means that the city council must operate in both languages, and no language can be preferred. The city council solves this f.e. by alternating name signs with Dutch and French as top language.
In OSM, we have a consensus to use a fixed order. Since we refrain from involving politics, it has no further meaning to us than to keep data consistent for human and automated processing. The name=* tag in OSM contains both the French and Dutch name, separated by a spaced hyphen (f.e. name=Rue du Marché aux Poulets - Kiekenmarkt), and the first mapper needs to use the correct order of the names (changing the order of the names afterwards to "nl - fr" is considered vandalism if you are not a beginning mapper). Next to the bilingual name tags, there are also name:fr=* and name:nl=* tags which can be used to render or search the data in a specific language. Make sure to only include 1 spaced hyphen in a street name. Hyphens in street names are never spaced. Knowing this a computer program can easily analyse this data.
Similar to the name tags, address tags are also bilingual. Every address in Brussels should have the following tags:
- addr:street=*: The streetname, in the 'fr - nl' order.
- addr:street:fr=*: French street name, equal to the name:fr=* tag of the street.
- addr:street:nl=*: Dutch street name, equal to the name:nl=* tag of the street.
Next to the completely bilingual Brussels, there are also municipalities with language facilities (see the map).
These municipalities are supposed to operate in the official language of the community, but must provide services to minority language groups upon request. This means f.e. that all streetnames also have an official translation and are normally signed with the translation too. But there's no language-equality as in Brussels.
These municipalities should have the official translated names under name:nl=*, name:fr=* and name:de=* (depending on which language facilities are offered), the name=* tag should contain only the official name in the primary language. For the moment, the municipalities bordering Brussels also follow the naming schema used in Brussels (with both languages in the name tag), while the other municipalities have a tendency to only include a single language in the name tag. Do not delete translated data by following this rule. If a good translation exists in a dutch municipality in french, do not remove it. We only care for correct data, as much as possible without being intrusive in any way.
Combination with name:left=* and name:right=*
Belgium has many boundaries that follow roads, and different municipalities often opt to give different names to the boundary street, resulting in differing addresses on both sides of the road. These are mapped by adding an addr:left=* and addr:right=* tag to the way.
This becomes even more annoying when one (or both) of the municipalities are bilingual or have language facilities. In these cases, the Belgian community opted to extend the tags to f.e. name:right:fr=*. Note that in these cases, a name:fr=* tag isn't guaranteed to exist, as it's possible that only one side of the street has a translated name. name:left=* and name:right=* should exist in these cases.
- name=Komenstraat - Chemin des Quatre Rois (format "fr - nl", see language facilities)
- name:left=Chemin des Quatre Rois (format "fr - nl" for Brussels, see language facilities)
- name:left:fr=Chemin des Quatre Rois
- name:left:nl=Vier Koningenweg
This tagging scheme is far from a perfect solution, JOSM validator will not let this pass, if you have multiple relation:associatedStreet relations on a single way, JOSM will complain on validation. This is a shortcoming in the tagging scheme for these kind of situations. And there is no appropriate alternative solution at this moment. In Brussels there are quite some streets with this problem. There is probably also not a huge amount of support for name:left:*=* in software at the moment.
Some more BXL examples:
- in "1090 Jette"
- in "1081 Koekelberg"
- in "1080 Molenbeek-Saint-Jean - Sint-Jans-Molenbeek"
With the problematic common way :
About the first mapper rule
Note that the "first mapper rule" is deprecated now. The consensus in the .be community is to address "fr - nl" for all name=* and addr:street=* tags, and include specific languages in subtags. Consistency of data is more important than who came first and what his preferences are. A custom Urbis validation tool is available at github.
Unofficial languages and dialects
Next to the official languages, some dialects can also be added as translations.
In Wallonia, use "name" for the common french name, if you want to complete with the walloon name, use "name:wa". For example, for the city of Liège, we use :
In West Flanders, name:vls=* is used to mark West-Flemish names. Please stick to the spelling of vls.wikipedia.org when adding translations.
The official language in Bulgaria is Bulgarian written in Cyrillic.
Road and other signs in Bulgaria are written in Bulgarian and are usually transcribed to the Latin alphabet according to the Bulgarian transliteration law.
- The geographic terms: планина (mountain), равнина (plain), низина (valley), плато (platteau), град (city), село (village), река (river), езеро (lake), залив (bay) etc., which are part of the geographic name, are generally transliterated as follows:
Стара планина Stara planina
Атанасовско езеро Atanasovsko ezero
- Geographic terms that are not part of the name, should be translated (here example in English):
Нос Емине Cape Emine
- The terms "северен" (northern), "южен" (southern), "източен" (eastern), "западен" (western), "централен" (central) and similar ones, in case they are part of the geographic name, should be transliterated:
Централен Балкан Tsentralen Balkan
name=: name in Bulgarian (бул. Източен)
int_name=: transliterated name (bul. Iztochen)
name:en=(optional): Iztochen Blvd.
Most names in China are written with Chinese characters, but an English version and pinyin version can be very useful for foreigners.
Pinyin should be written with accents since without accents, it usually does not add any information over the English name.
Names in autonomous areas (of Provincial, Prefectural, or County level) should be in either the most commonly used local language or in Latin script.
A whole standard entry would include:
name=<Chinese> name:zh=<Chinese> name:en=<English> name:zh_pinyin=<Chinese pinyin (with tones)>
Note that zh_pinyin is not a standard language code (as pinyin is not a language, only a romanisation system). If a more coherent system is developed, zh_pinyin can be changed to something else. (A standard language code for Pinyin would be
name:zh-Latn=* can also be used to indicate Chinese romanisation in general. Do not use zh-py.
Sometimes keys like
name:zh-SG=*, and such would be used for Chinese name of a feature in different area like China (mainland), Hong Kong, Macau, Singapore and such, when the feature's name in those regions are not the same as local Chinese name or international Chinese name. It is recommended to capitalize the country/region code although other variants exists in the OSM database now.
A few features have been tagged with keys like
name:zh-Hant-CN=* to represent the Chinese name for a region with alternative script.
It is also possible to add local names using the same template name:code if the language has an ISO 639-1, ISO 639-2, or ISO 639-3 code (for example 'yue' for Cantonese, 'bo' for Tibetan, 'ug' for Uyghur, 'mn' for Mongolian, etc.). Note that for Mongolian there are different scripts.
Places follow the same convention. The only difference is that Chinese maps add 市，镇，省，县 at the end of the name, so we follow this convention, but do not translate this part in English.
For road names, however, an indication of 大道 (avenue), 路 (road), etc. is customarily provided. Try to use official translations on the street signs for the English names; if unavailable, refer to the vocabulary in #Taiwan for entries like 巷 and 弄.
name=朝阳公园南路 name:zh=朝阳公园南路 name:en=Chaoyang Park South Road name:zh_pinyin=Cháoyánggōngyuán Nánlù
place=city name=自贡市 name:en=Zigong name:zh=自贡市 name:zh_pinyin=Zìgòng Shì
place=town name=淅川县 name:en=Xichuan name:zh=淅川县 name:zh_pinyin=Xīchuān Xiàn
place=city name=巴林左旗 name:mn=Баарин Жэгүн қосиу alt_name:mn=ᠪᠠᠭᠠᠷᠢᠨ ᠵᠡᠭᠦᠨ ᠬᠣᠰᠢᠭᠤ;Baɣarin Jegün qosiɣu name:en=Bairin Left Banner alt_name=Bairin name:zh_pinyin=Bālín Zuǒ Qí
Cornwall is a county in the UK. People spoke Cornish(Kernewek) up to the 19th Century. There are some people that think Cornwall should/could be its own country, or at least keep its own identity and so some road signs to attractions get the Cornish flag spray painted over the English Heritage sign.
Some of the street signs of Kerrier District Council have the names also written in Cornish. It seems good to add this data to OSM, though the English name is likely to be the only one used.
This was decided by vote on our mailing list: https://lists.openstreetmap.org/pipermail/talk-hr/2013-May/001815.html
With more than 90 recognized languages, OSM tagging in Ethiopia can be challenging. The national official language is Amharic name:am=* and the language of instruction in high schools and universities is English name:en=*. Each of the Regions (states) within the country have also adopted an official language for that region. Typically, official as well as unofficial signs in the various regions show names in two or more scripts: the local language, often using Roman or Latin script and then in the Amharic script. Translation from Amharic to English is not uniform due to the sounds not found in English.
For OSM tags the following convention should be used.
- name=* Amharic name / local name (bilingual separated with a slash /)
- name:am=* Amharic name in Ge'ez script (አማርኛ)
- name:en=* English name where appropriate
- name:om=* Oromo language in Oromia Region
- name:so=* Somali language in Somali Region
- name:ti=* Tigrinya language in Tigray Region
- name:aa=* Afar language in Afar Region
- name:sid=* Sidaamu Afoo language in portions of Southern Nations, Nationalities, and Peoples' Region Region
- name:wal=* Wolaytta language in portions of Southern Nations, Nationalities, and Peoples' Region Region
Some cities/places/streets have names in Finnish and Swedish. Use name key for the commonly used language (mostly Finnish, use Swedish version if municipality is mainly Swedish) and name:fi and name:sv for the specific language version.
Three Sami languages are recognized up in the north, Northern, Inari and Skolt Sami, in the following municipalities: Enontekiö, Utsjoki, Inari and Sodankylä. The ISO 639-1 code system covers only Northern sami (tagged as name:se). But with the ISO 639-2 code system all three languages are taggable with the name key. Northern Sami is tagged with name:sme, Inari Sami with name:smn and Skolt Sami with name:sms.
More information on the WikiProject Finland page.
France has many regional languages besides French. None of them are recognized nationally, but may have some limited support from regional or local collectivities (including in schools and universities). There are also bilingual street signs. Some language codes are :
- name=* for the default official name, as defined by the State-runned INSEE or by the municipal land registry (the cadastre). It may contain a local language name in bilingual areas, none of them official in France.
- name:fr=* for the vernacular French name (needed exclusively off territories of the French Republic, especially for French variants like Londres for London or Munich for München))
- name:br=* for Breton ; see the specific French project in name:br=*
- name:ca=* ca for Catalan
- name:co=* co for Corsican
- name:frp=* frp for Arpitan (or Franco-Provençal)
- name:gcf=* gcf for Guadeloupean Creole
- name:gsw=* gsw for Alsatian, the French variant of Allemanic (note: gsw is also used for other Allemanic variants in Switzerland and in Südbaden, Germany)
- name:oc=* oc for Occitan (including Auvergnat, Bearnese, Bigourdan, Cévenol, Gascon, Limousin and Provençal)
- name:ty=* ty for Tahitian (in French Polynesia)
- name:eu=* eu for Basque (Gascon must be under name:oc)
- name:vls=* vls for West Flemish (around Dunkirk)
In Britanny and Normandy, there are also the "Gallo" and "Norman" langages but they still have no specific ISO 639 code assigned (they may be represented in conforming BCP 47 tags as "fr-x-gallo" or "fr-x-norman" using a private extension only to collect the data, that won't be used interoperably before there's a documented agreement on which subtags to use; for Norman the assigned code "nrf" refers ambiguously to modern Jersiais, Guernésiais or Continental Norman and don't seem to distriminate their own local dialects, so it would still safely replace the "fr-x-norman" private use extension of French, or we could use "nrf-FR" font continental Norman, "nrf-JE" for Jersiais, and "nrf-GG" for Guernésiais if a distinction is really needed at the same place).
In 70 municipalities in the official Sorbian settlement area in the federal states of Brandenburg and Saxony, Sorbian is recognized as a second official language. Towns and villages, that bear an official (!) name in German and Sorbian, should be tagged as follows:
Lower Sorbian [for Brandenburg]:
- name=* : Names in both languages German - Sorbian
- name:de=* : Name in German
- name:dsb=* : Name in Lower Sorbian
Upper Sorbian [for Saxony]:
- name=* : Names in both languages German - Sorbian
- name:de=* : Name in German
- name:hsb=* : Name in Upper Sorbian
Sorbian placenames in Wikipedia:
The official language in Greece is Modern Greek.
- Road and other signs in Greece are written in Modern Greek and are usually transcribed/transliterated to the Latin alphabet using ISO 843 type 2 (same as ELOT 743).
"Οδός", Greek for "street" and "road", transcribes to "Odos". Although used in most signs, is rarely used in speech and search, as the only other type of way used is "avenue"(is omitted) "Λεωφόρος", Greek for "avenue", transcribes to "Leoforos"(is omitted)
- When there is a first and a last name, like in Eleftheriou Venizelou (Ελευθερίου Βενιζέλου) the order of first and last names is kept, unlike in printed guides where they were reversed for indexing reasons
So, "Δημοκρατίας", (after "Δημοκρατία", meaning "Democracy") is transcribed to "Dimokratias".
Resulting naming convention:
- name=* and (optionally) name:el=* name in Greek ("Οδός" is omitted) e.g., "Σταδίου", "Ελευθερίου Βενιζέλου".
- int_name=* transcribed name e.g., "Stadiou", "Εleftheriou Venizelou", "Plateia Eleftherias", (ISO 843).
- name:en=* (optional): translation of the property only. (names must not be translated) eg. "Πλατεία Ελευθερίας" is translated to "Eleftherias square" and not "Freedom square".
- old_name=* (optional): old Greek name; e.g., "Πανεπιστημίου".
Transliteration and Trancription links:
The country has two official languages : French and Haitian Creole. Street names generally are only noted in French though.
name=* Names in both languages (Haitian Creole first, followed by French)
name:ht=* Name in Haitian Creole
name:fr=* Name in French
The US state of Hawaiʻi has both English and Hawaiian (haw) as its official languages. Most place names retain the aboriginal Hawaiian names, with a few notable examples like Pearl Harbor. Most place names are now officially spelled with the ʻokina (glottal stop) and kahakō (macron) where appropriate. Street signs may or may not have the proper diacritics.
Under "One Country, Two Systems", in Hong Kong, one of the special administrative regions of China, both Chinese and English are gazetted as the official languages. As a result, both Chinese and English names are used. The current bilingual (Chinese zh and English en) tagging conventions as follows:
name=* Names in both languages (Traditional Chinese first, followed by English)
name:zh=* Name in Traditional Chinese
name:en=* Name in English
See India#Naming in different scripts and languages for more information on conventions followed for multilingual names in India.
Officially, all street signage must be bilingual, Irish and English, unless the name is of a place in a Gaeltacht (area where a majority speaks Irish as a first language), in which case signs must be Irish-language only.
Certain rare examples exist of placenames outside Gaeltachts where the English version has been successfully supplanted by the Irish version, at least when written. Such towns (including Portlaois/Port Laoise and Dunleary/Dún Laoghaire, formerly Kingstown). Examples (past and current) do exist of places where the English name has endured despite signage that would suggest differently (Kells/Ceanannas, Bagenalstown/Muine Bheag, Charleville/Rath Luirc/An Rath). For these places, only local knowledge will allow you to tag "correctly".
Safest tagging practise is generally to use the English-language version, where given, as the primary name, including the Irish-language version under name:ga=*. Where only a single name is provided, this name will be in Irish, but is likely, in the absence of local knowledge to the contrary, to be the best primary name.
In Gaeltacht areas, it is probably best to use the Irish version of a name as primary name and tag the English version (where known) under name:en=*. This simple rule of thumb does break down where a Gaeltacht place is better known in English, or whose popularly used local Irish version is different to the officially recorded name, as in Dingle, a mostly English-speaking town in a Gaeltacht whose local Irish name is Daingean Uí Chúis but which is officially known as An Daingean.
Isle of Man
Many street signs in the Isle of Man have both an English version and a Manx version of the name. The Manx version should be added to the object using the name:gv=* tag, and the English version added with the name:en=*. Whichever version is used as the primary name (usually the English version) should be used in the main name=* tag as well.
In Friuli Venezia Giulia many places and geographical features (rivers, mountains...) have a toponym in Friulian. These names should be added as name:fur=*. In some villages the names of the roads are both in Italian and Friulian so you should add them in the same way. In certain cases there are two version of the toponym, one in standard Friulian and one in the local form; you should add the local form too using loc_name=*. Here you can find a document with a complete list of toponyms in standard Friulian. There's a rendering which shows Friulan names and you can find it here.
Alto Adige/Südtirol (South Tyrol)
German and Italian are both official languages of South Tyrol. In some eastern municipalities Ladin is the third official language. (c.f. Wikipedia). Every town has two (or three) official names; but even the street names are mostly bilingual.
The German and Italian (and Ladin) names of towns, streets, POIs, etc. are tagged separately with the respective name:* tags (name:it=* for Italian, name:de=* for German and name:lld=* for Ladin). There seems to be consensus in including both languages in the general name-tag separated by a dash, where the (locally) more commonly used name comes first (most of the time this will be the language, which dominates in the municipality). Examples are "Bolzano - Bozen" (Italian first), "Brixen - Bressanone" (German first).
In Sardinia Sardinian and Catalan toponyms are protected by the national law 482/1999 and all the names in the local languages are co-official with Italian. These names should be added as name:sc=* (for Sardinian), or name:ca=* (for Catalan) and also the name tag must contain both the local and the italian name. You can find the local toponyms here. Other local languages, and related place names, are Corsican (Sassarese and Gallurese) name:co=* and name:lij=* for Ligurian (tabarchino).
Many places and geographical features (rivers, mountains...) have a toponym in the local languages. In some villages the names of the roads are both name so you should add them in the same way. In certain cases there are two version of the toponym, one in standard form and one in the local form; you should add the local form too using loc_name=*.
The correct tagging would be like:
|name:en=English or romanisation of Japanese||name:en=Metropolitan Expressway|
|name:ja_rm=romanisation of Japanese||name:ja_rm=Shuto Kōsoku Dōro|
|name:ja_kana=Japanese Kana form|
name:ja_rm=* and name:ja_kana=* are traditionally used key values with non-standard code. Standard language code for romanised Japanese should be name:ja-Latn=*, and the Hiragana form should be name:ja-Hira=*. See also BCP 47.
Street signs often incorporate romanised or translated versions of names. Most often they are in English, but Chinese and Japanese can also be found. The romanisation should follow the Revised Romanisation of Korean for South Korea, and the McCune–Reischauer romanisation for North Korea.
|name:ko-Latn=romanisation of Korean||name:ko-Latn=Gyeongbugosokdoro|
name:ko_rm is deprecated and name:ko-Latn= should be used now.
Standard language code for Hanja should be name:ko-Hani=*
Street signs in Lebanon are written in Arabic and in French, tagging is :
In Luxembourg, Village names and their signs are bilingual, Luxembourgish and French. For example, Bascharage in French is Nidderkäerjeng in Luxembourgish. Most street names generally are only noted in French, but some bilingual street signs have been installed.
name:lb=* can be used for Luxembourgish names when there is one.
for Rue de Koerich / Kärcherwee, the correct tagging is:
for Rue Saint-Ulric / Tilleschgaass, the correct tagging is:
The official languages in Macedonia are Macedonian written in Cyrillic and Albanian written in Latin.
Even though it is official language Albanian is not used for road names and most of other signs in most Macedonia. Across the country For road names and signs only Macedonian is used and it also is transcribed (when available) to the Latin alphabet according to the Macedonian transliteration rules.
- The geographic terms: планина (mountain), низина (valley), плато (platteau), град (city), село (village), река (river), езеро (lake), залив (bay) etc., which are part of the geographic name, are generally transliterated as follows:
Шар планина → Shar planina
- Geographic terms that are not part of the name, should be translated (here an example in English):
Охридско езеро → Lake Ohrid
- The terms "северен" (northern), " јужeн" (southern), "источeн" (eastern), "западен" (western), "централен" (central) and similar ones, in case they are part of the geographic name, should be transliterated:
Скопје Север → Skopje Sever
- Dates that are part of road names or signs should be transliterated. The number should be separated from the ordinal suffix with a dash ("-"):
1-ви Мај → 1-vi Maj
- Ordinal numbers should also be transliterated. The number should be separated from the ordinal suffix with a dash ("-"). The ordinal suffix should be declined according to the corresponding gender:
15-та Бригада → 15-ta Brigada
By consensus of the community, names of cities and other administrative areas (from the country as a whole down to arrondissements) are written in French, Tamazight (Berber) and Arabic, in that order.
Street signs in Morocco are principally written in Arabic, with some also including French and/or Tamazight. If the French or Tamazight names are known (even if they are not on a particular sign), the preferred tagging includes them. The order is the same as for cities.
About the first mapper rule
Note that the "first mapper rule" is deprecated now. The consensus in the .ma community is to use "fr - ar" (or "fr - zgh - ar") for all name=* and addr:street=* tags, if known, and include specific languages in subtags. Consistency of data is more important than who came first and what his preferences are.
About "mapping what's on the ground"
If the French or Tamazight names are known (even if they are not on a particular sign), the preferred tagging includes them. In general, Arabic terms are translated (not transliterated) into their French equivalents: "Rue" not "Zanqat" (for زنقة) and "Avenue" (or "Boulevard") not "Chari" (for شارع). However, if the sign on the ground uses a word that has been transliterated into Latin script, follow that.
In the province of Friesland, most towns have both a Frisian and a Dutch name. Use the official name as name=*. As of 2016, there are 6 muncipalities where the Frisian name is the official one: Dantumadeel, Tietjerksteradeel, Ferwerderadeel, Menaldumadeel, Littenseradeel and Leeuwarderadeel. In addition to the official name, use name:nl=* for Dutch names and name:fy=* for Frisian names. In Eastern parts of the Netherlands, some places have a Low German name, use name:nds-nl=*.
Some places in New Zealand have official dual English-Māori names. Correct tagging for these is as follows:
Some street signs in Northern Ireland, particularly in West Belfast, are in both English and Irish, and most place names have an Irish translation. The English name should be tagged with name=*, and the Irish with name:ga=*. The rule in the Republic where the Irish name is listed with name=* in Gaeltachts (Irish-speaking areas) also applies here, however as of yet there are no official Gaeltachts in the North.
There are also street signs which are in both English and Ulster Scots. Examples can be seen in villages such as Ballywalter and Greyabbey on the Ards peninsula. The Scots tag is name:sco=*.
Most names in Norway will be in Norwegian only and are tagged with name only. Wherever other languages are used as well, the Norwegian name is also tagged with name:no, including for the Norwegian name of countries and other names abroad.
There are two written Norwegian languages, bokmål and nynorsk, which are tagged name:nb and name:nn, respectively. The two languages are very similar with only slight variations in spelling. Each municipality decides which of the two languages is the official language for that area, so names will generally exist in only one of the two languages. For this reason name:nb and name:nn are only used in the few exceptional cases were a distinction between names in both languages are needed. Examples of names with both bokmål and nynorsk spelling:
- 15 country names (e.g. Norway, Austria, Belarus, East Timor) and a few other names abroad
- National institutions - Official spelling
Sami and Kven names are tagged as follows:
- Northern Sami: name:se - Official language in the municipalities of Kautokeino, Karasjok, Porsanger, Tana, Nesseby, Kåfjord and Lavangen
- Lule Sami: name:smj - Official language in the municipality of Tysfjord
- Southern Sami: name:sma - Official language in the municipalities of Snåsa and Røyrvik
- Skolt Sami: name:sms
- Kven (Finnish origin): name:fkv - Third administrative language in the municipality of Porsanger
Within the municipalities listed above all Norwegian names should be tagged with name:no. Outside of these municipalities Norwegian names should be tagged with name:no wherever multiple languages are present for the name of an object. If only the Norwegian name is present (outside of the listed municipalities) it should be tagged with name only.
The name key should always be used in addition to the language specific key. If names are present in more than one of the Norwegian, Sami or Kven languages for a given object, they should all be included in name with a spaced hyphen " - " between them. In the municipalities listed above, the Sami name should be the first, otherwise the Norwegian name should be the first.
Example (in Porsanger municipality):
- Import files with all official place names and correct language tagging: No:Import av stedsnavn fra SSR2
- Norwegian names for other nations
- Norwegian names for other places abroad
- Transliteration of modern greek and cyrillic names to Norwegian
Poland has one official language (Polish) and one recognized regional language (Belarusian). Correct tagging for these is as follows:
Portugal has one official language (Portuguese) and one recognised regional language (Mirandese). Correct tagging for these is as follows:
- name=Cicouro/Cicuiro (official dual name)
- name=Cicuiro (official name in Mirandese)
- name:pt=Cicouro (Portuguese name)
- name:mwl=Cicuiro (Mirandese name)
The refs for the ring roads are displayed in English with "Ring" spelled out.
Many roads have two names - one word name and one number name. The number name should go into the alt_name tag.
In cities and villages where there is a minority representing at least 20% of the population, the local signs must be multilingual. In this case, street and city names should be written in Romanian; additionally, one can add the name in the secondary language using a different tag.
For cities without a significant minority population, street names must be written in Romanian. City names can be added in different languages using name:iso_code=* if there are significant sources supporting that name.
- in Târgu Mureș, tagging should be:
- in Bucharest, tagging should be:
Since Russian is the official language of Russian Federation name=* tags should contain the name in Russian (Cyrillic). For Russian regions having own official languages, native names should also be tagged.
For example, Altai republic uses Altay language in addition to Russian.
In case of international brands, an original name may be used without translation if a brand holder prefers to use it without localization. For example:
name=KFC, name=Subway or name=Toyota should not be transliterated at all since brand holders uses original names.
Please, don't forget to put the same value to name:code=* key in the favor of data completeness (name=value + name:code=value).
If international company use cyrillic name:
Some signs in the Highlands of Scotland have names in both English and Gaelic, usually only for place names (Mallaig, Fort William etc.), but sometimes they appear on street signs, such as this one in Oban.
Gaelic names can be tagged using name:gd=*, with name=* for the name in English. In places where Gaelic is the main language (eg the Western Isles), the Gaelic name can be tagged using name=*, with name:en=* for the English name. Most street signs primarily show the Gaelic name. An example of this in the wild is Steòrnabhagh (Stornoway).
gd is the ISO 639-1 code for Scottish Gaelic, which isn't the same as other Gaelics (e.g. Irish), so this code is only for Scottish Gaelic (which is used in Canada as well).
An OSM rendering showing the Gaelic names is available at OSM Alba.
Scots names can be tagged using name:sco=*, with name=* for the name in English. Names in Scots are not usually listed on signs. Often the Scots name for a place can only be determined with local knowledge.
Some places (mainly islands) have Old Norse names as well, use name:non=* for these. (non is the ISO 639-2 code for Old Norse)
The Serbian language is using both Cyrillic (official) and Latin (popular) alphabets, so the naming scheme needs to support both. The current proposal is to use name:sr=* for the Cyrillic script, and name:sr-Latn=* for Latin. The locale tags have been chosen according to BCP 47.
The default name=* tag should be filled in using Serbian Cyrillic, unless the feature is in an area where the language and script of the sizable ethnic minority is in official use (e.g. Subotica or Preševo). In that case, name:sr=* must be added, as well as the tag specifying the language of the default tag (e.g. name:hu=*, name:sq=*, etc.).
There are regions in Slovakia in which a minority language is spoken by a large percentage or even the majority of local inhabitants (e.g. Hungarian in Southern Slovakia). Some of those places (villages, towns) do have official names in the local language, the state does recognize the minority language at those municipalities. In those cases, the current state of tagging is this:
There are 2 regions in Slovenia in which an officially recognized minority language are spoken by a large percentage of local inhabitants, namely:
Those 2 minority languages are officially recognized by the Constitution (unlike some newer, albeit larger ex-Yugoslav minorities) and co-official in these areas. In these 2 parts some of the places (cities, villages, towns, hamlets) and/or streets have an official names also in that official language.
In those areas, the tagging is done like this:
- name=official name in Slovenian / official name in minority language (= names separated by "/" sign, same as on the signs, example shown on the right)
- name:sl=official name in Slovenian
Followed by the name in minority language:
Names in other languages can be added to separate tags, but NOT to the main name=* tag.
Depending of the zone you could find 3 additional languages: Català (ca), Galego (ga) and Euskera (eu)
Català its spoken in Catalunya, Illes Balears and several places in the Comunitat Valenciana (north east and balearic islands) Usually the official name for the places is that one but sometimes you are going to find names in Spanish, as an example the official name for one of the provinces its Lleida, but also for tradition this place its known and marked in several maps as Lérida.
The correct tagging would be:
The same happens with the Galego, spoken in the northwest corner, and with Euskera spoken in the basque region and Navarra. There are few exceptions like Donostia - San Sebastián and Vitoria - Gasteiz where the official form depends on the local administration and historic use of the names, so the correct tagging in this case would be:
Please check out the right situation in each placename.
The ISO code for Rhaeto-Romance languages including the 4. national language Romansh is rm (ISO 639-1; ISO 639-2: roh) Currently ISO 639-1 and -2 specifications do not provide any differentiation between Romansh dialects, therefore rm should be used mainly for the more or less official "Rumantsch Grischun". The problem of missing ISO codes for different Romansh dialects seems still unresolved and needs discussion.
For names in Swiss german dialects ('Schwiizertüütsch','Schwyzerdütsch') add following tag to name=* tags: name:gsw=a Swiss german name. For explanations about the notation of Swiss german dialects see GISpunkt HSR Wiki.
Taiwan#Translation (中文地址英譯) mentions how to translate names.
Following the Taiwan Post Office guide, the following rules should be applied:
|Name (Chinese)||Name (English)|
Since "Aly." and "Ln." sound quite cryptic and don't save that many characters, the whole English name will be used for Lanes and Alleys.
A whole standard entry should include:
name=<Chinese> name:zh=<Chinese> name:en=<English>
Here is a real life example:
name=南京東路三段256巷28弄 name:zh=南京東路三段256巷28弄 name:en=Alley 28, Lane 256, Section 3, Nanjing East Road
Different Romanisations are in use in Taiwan. See WikiProject_Taiwan/Taiwan_tagging#Romanization. name:en=* should use the name given on the street sign. (Maybe other romanisations should be entered as well (how?), as different forms are sometimes used (e.g. on maps or on business cards) and it should be possible to find streets based on such variants.) A possible method to enter names in different romanization could be using alt_name:en=* for different English spelling variants. Or use name:zh-Latn-[name_of_different_romanization_methods]=* (See also Type:variant entries in IANA language subtag registry), despite this is not currently used in OSM.
name:zh-Hans=* can be used to label Simplified Chinese variant of name,
name:hak=* can be used to represent Min Nan and Hakka name, see also #China. See Formosan languages or WikiProject_Taiwan/Taiwan_tagging#Naming scheme for codes to represent Formosan languages. Some features currently use
name:zh_zhuyin=* to represent their (Mandarin) Chinese name pronunciation in Zhuyin symbols, however as the ISO 15924 standard code for Zhuyin symbols is Bopo (stand for Bopomofo), standard-compliant code would be zh-Bopo (currently not in use).
Thailand has names written in Thai script. Many street signs list RTGS transliterated (English) names as well.
We state the local (Thai) name in the name tag. For other languages the name-tag is extended by the language code. A special rendering allows selection of the language to display as well as bilingual naming: http://thaimap.osm-tools.org/
Transliterated Thai script (using RTGS) is usually entered in the name:en tag. Whether it is a translation or a full transliteration depends on the context and on the ground-truth. A good rule of thumb is to check what locals would use when describing the feature to a foreigner or how it is listed in the english Wikipedia. For example "วัดโพธิ์" is called "Wat Pho", not "Pho Temple". Here a full transliteration is used. On contrast "ถนนสุขุมวิท" is called "Sukhumvit Road" (also on street signs), not "Thanon Sukhumvit". The name is still a RTGS transliteration but the word for Road is translated.
name=เชียงใหม่ name:en=Chiang Mai name:th=เชียงใหม่
In some areas of Thailand other languages are common as well. Often signs contain words in those languages as well. Use the appropriate language code to enter them in OSM.
The Language spoken in Northern Thailand is Kam Muang (ᨣᩴᩤᨾᩮᩥᩬᨦ) and can often be found on street signs with the ISO639-3 code of nod.
name=เชียงราย name:th=เชียงราย name:en=Chiang Rai name:nod=ᨩᩭᨦᩁᩣᩭ
In the 4 provinces of Songkla, Patani, Yala and Narathiwat Bahasa Jawi (بهاس جاوي) is used widely.
name=ปัตตานี name:th=ปัตตานี name:en=Pattani name:mfa=ڤطاني
Street signs in Tunisia are written in Arabic and in French, tagging is :
Ukraine has one official language (Ukrainian). However due to historical backgroung of many territories in some areas Polish is also in use. Additionally, as a post-Soviet cultural phenomenon, Russian is extremely widespread as a second language, in some areas (Crimea, Eastern Ukraine) dominating over official Ukrainian. Finally, in Crimea there is another language used by the peninsula's indigeous people, Crimean Tatars, who constitute a notable part of the population there. Considering these factors, Ukrainian OSM community widely uses Relation:associatedStreet to provide scalable multilingual support. Generally the following scheme is used:
name on the way (street) - in Ukrainian or in Russian, according to the truth on ground rule. There had been several holywars concerning "default" language. While inside a city it is recommended to keep this tag to a single language prevalent there (i.e. on the street signs). "Default" for Ukraine is Ukrainian, however one should use it reasonably. As an example many signs in Crimea installed during Soviet period are still in Russian. In questionable situations DWG recommends to keep to the "Truth on the Ground" rule.
name on the relation (associatedStreet) - same as above.
name:uk, name:ru on the relation (associatedStreet) - for multilanguage support. May be accompanied by the less widespread name:pl (Polish), name:crh (Crimean Tatar) as well as international name:en etc.
Note that all street ways sould be included in the relation with "street" role, while the houses related to the street should be included with "house" role for correct address processing.
United Arab Emirates
Signs (including street signs) in the UAE are written in Arabic and in English, tagging is:
name:en=Cairo Street for the English name
The street signs in the locations noted below that have English names for numbered streets are displayed in a slightly different order from each other.
name:en=Street 25 for the English name in Abu Dhabi (numbered streets only)
name:en=25 Street for the English name in Dubai (numbered streets only)
name:en=25th Street for the English name in Al Ain (numbered streets only)
Uzbekistan has one official language: Uzbek. Additionally, Karakalpak is recognized for the Autonomous Republic Karakalpakstan.
Historically, most places had Russian names, because of the Soviet Union. Many minorities of Russian, Tatar, Krigisian, Turkmenian, and even German origin had been living or are still living in Uzbekistan. Therefore, nearly all places had Russian names that have only in the past years been substituted with Uzbek names in Latin letters or have traditional names in other languages.
name=Toshkent for official Uzbek name in Latin letters
name:kaa=Tashkent for the Karakalpak name
name:ru=Ташкент for the Russian name
name:en=Tashkent for the main English name
name:de=Taschkent for the German name
alt_name:uz=Тoшкент for the alternative Uzbek name in Cyrillic or other Latin versions of the name
alt_name:en=Toshkent for the alternative English names
Note: Some features have already been tagged with name:vi-hani=* for their names written in Chu Nom. (BCP47 recommendation is to capitalize the first character in the script subtag like vi-Hani but that is not currently used in OSM.)
Note: This topic is in hard discussion, also with editions of this article of the wiki. Please read this thread and this of talk-gb for more information.
In Wales, the name tag should be used for whatever the local population uses. If you don't know that, fall back to the top name on the signage (where that exists).
name:en and name:cy can be used to give English and Welsh names where such names exist but are not the name used by the local population. (cy is the two letter ISO639-1 language code for the Welsh language.)
The percentage of Welsh speakers varies very significantly across the country and visiting mappers should be aware of local usage.
Sometimes a boundary is a shared feature like a river with different names on each side of the border. One example is the Rhine river separating Germany and France.
Always add name:code=* for each involved language, and for compatibility with older rendering engines, also set name=* to both names, separated by a forward slash with spaces in between, sorted in (a somewhat neutral) Unicode alphabetical order.
For the Rhine river, this would be:
name=Le Rhin / Rhein
Note that, in the rare case when the feature borders multiple language regions, like the Danube river, joining all names within name=* can produce an inconveniently long string. Though not implemented anywhere yet, one could:
- create a relation for the whole feature without name=*, only name:code=* tags
- break down the feature for each pair of adjacent regions (usually countries)
- for each pair of regions, create a relation for the feature's parts separating the two regions with name=* containing the two local names and no name:code=* tags
Finally, if only part of the feature is used as a boundary, set name=* of the non-boundary parts to the name used in the containing region, as in most other objects.