|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 Bangladesh
- 4 Bahrain
- 5 Belarus
- 6 Belgium
- 7 Bulgaria
- 8 China
- 9 Croatia
- 10 Ethiopia
- 11 Finland
- 12 France
- 13 Germany
- 14 Greece
- 15 Haiti
- 16 Hong Kong
- 17 India
- 18 Iran
- 19 Ireland (Republic)
- 20 Italy
- 21 Japan
- 22 Korea
- 23 Kuwait
- 24 Lebanon
- 25 Luxembourg
- 26 Macau
- 27 Morocco
- 28 Netherlands
- 29 New Zealand
- 30 North Macedonia
- 31 Norway
- 32 Poland
- 33 Portugal
- 34 Qatar
- 35 Romania
- 36 Russian Federation
- 37 Serbia
- 38 Slovakia
- 39 Slovenia
- 40 Spain
- 41 Switzerland
- 42 Taiwan
- 43 Thailand
- 44 Tunisia
- 45 Ukraine
- 46 United Arab Emirates
- 47 United Kingdom
- 48 United States of America
- 49 Uzbekistan
- 50 Vietnam
- 51 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. There is 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 differentiate 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 assigned 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 preferred 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 independent 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.
While most other countries in OpenStreetMap use the official language for the name=* tag and potentially add name:en=* for an English name, the current standard in Bangladesh is inverted: It is common to use name:bd=* for the Bangla (বাংলা) name, and put the English name in name=*, provided the object has an English name.
This system is currently under discussion and might change in the future. Please refrain from retagging of names to match your preferred scheme.
When adding a name, it is best to look at the actual road signs, placename signs, or shop signs:
- If something has only a Bangla name: Set name=* to the Bangla name, and optionally add name:bd=* with the same.
- If something has only an English name: Set name=* to the English name, and optionally add name:en=* with the same.
- If something has names in both languages: Set name=* to the English name, and optionally add name:en=* with the English and name:bd=* with the Bangla name.
If something already has a name=* tag in either Bangla or English, then please do not change it (unless the name itself is wrong), instead limit yourself to adding name:en=* or name:bd=* as appropriate. This is to avoid edit wars while the community discusses the future tagging scheme.
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 optionally 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 bilingual, 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.
A few streets have a name that is absolutely identical in both languages. Needless to say, never concatenate the same name twice (e.g. "Tomberg - Tomberg" makes no sense).
Similar to the name tags, address tags are also bilingual. Every address in Brussels should have the following tags:
- addr:street=*: The street name, 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 their 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)>
name:zh=* represent unspecified Chinese variant. Usually the script being used in the tag is the script preferred by either the object owner, frequent users, or the people of the area. In other words, most objects in Mainland China, Malaysia and Singapore with this tag would have Simplified Chinese value, while most objects in Taiwan, Hong Kong, and Macau would have Traditional Chinese value. Exception applies. Outside Chinese-speaking area the script of value in this key is generally dependent on the script preference of the first contributor in a first-come-first-serve basis and thus different nearby objects might have different scripts in this same tag, but try not to mix different scripts together within one single tag on each individual objects. Sometimes when
name:zh=* contain one variant of Chinese, another variant of Chinese would be stored in
name:zh-Hans=* for Traditional Chinese and Simplified Chinese respectively. Otherwise, if it is desirable to render the map in only Simplified Chinese or Traditional Chinese, then transliterator could be considered, but please pay attention that all machine transliterator between Simplified Chinese and Traditional Chinese available as of today are not totally accurate and misconversion could happens because some Traditional glyph are being separately corresponded to multiple Simplified glyph while there are also some Simplified glyph that are being separately corresponded to multiple Traditional glyph.
As mentioned above, some features have keys like
name:zh-Hans=* to represent the name written in Traditional/Simplified Chinese characters. Do not use zh-traditional or zh-simplified.
Note that Simplified Chinese and Traditional Chinese should be displayed using different corresponding fonts because for some characters they share the same Unicode code point but represent different glyph in Traditional vs Simplified Chinese.
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. These tags usually contain same script in their value as the preferred script in the region they indicate.
A few features have been tagged with keys like
name:zh-Hant-CN=* to represent the Chinese name for a region with alternative script.
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, which mean value of other romanisation method can also be included in the tag including Postal romanisation, Wade-Galles romanisation, romanisation based on local language variant, or Tongyong pinyin. Do not use zh-py. If one want to transliterate Chinese names from Chinese characters into Latin characters for map rendering or other purposes, then one should consider the transliteration standard of the region those characters are being used. Generally they are transliterated using pinyin standard with the Standard Mandarin Chinese pronunciation, which some characters might have slightly different reading in dictionary in different regions, and then in Hong Kong and Macau the transliteration should be done using their Cantonese pronunciation.
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 languages, multiple different scripts have been used in the tag for the language, and different scripts require different glyph, also if the script being used is Traditional Mongolian Script then it must be written vertically. For Manchu languages when the content is being written in Manchu script, vertical rendering is also necessary.
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í
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 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" languages 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 discriminate 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. Street signs usually have 2 or 3 lines :
- name:prefix=* "Οδός" (=street) can be omitted, we add anything else such as "Πλατεία" (=square), "Λεωφόρος" (=avenues and boulevards).
- name=* name in Greek e.g., "Σταδίου", "Ελευθερίου Βενιζέλου".
- int_name=* transcribed name as seen on the street sign e.g., "Stadiou", "Εleftheriou Venizelou", "Eleftherias". Transcribed/transliterated to the Latin alphabet using ISO 843 type 2 (same as ELOT 743).
We can also optionally add
- old_name=* old Greek name; e.g., "Πανεπιστημίου".
- alt_name=* when a street is also known with another name; e.g., "Γρηγορόπουλου"
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 reason.
Transliteration and transcription 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
- Main article: zh-hant:Hong Kong tagging
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
Please exercise discretion when you see an object that's named by neither Chinese nor English, or try to discuss with other editors if you cannot decide it alone.
Cantonese transliteration of place name can be stored in name:yue-Latn=* tag but it is not that common in the OpenStreetMap database for now. Data users intended to transliterate Chinese place name in Hong Kong into English should also use Cantonese pronunciation instead of Mandarin pronunciation of those Chinese characters.
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.
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.
Some features have also a name in German; you should add them using name:de=* and name:sl=* There seems to be consensus in including italian and slovenian languages in the general name-tag separated by a slash, where the italian name comes first.
Südtirol - Alto Adige (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 (trilingual).
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), "Urtijëi - St. Ulrich - Ortisei" (Ladin - German - Italian).
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 name or romanisation of Japanese||name:en=Metropolitan Expressway|
|name:ja_rm||romanisation of Japanese. In use, but name:ja-Latn is favoured since 2018||name:ja-Latn=Shuto Kōsoku Dōro|
|name:ja-Latn||romanisation of Japanese||name:ja-Latn=Shuto Kōsoku Dōro|
|name:ja_kana||Japanese Kana form|
|name:ja-Hira||Japanese Hiragana 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.
If one want to transliterate Japanese name into latin characters for various different purpose on objects that have no name:ja-Latn=* tags, then they should use the Japanese transliteration engine for Japanese characters instead of Chinese transliteration for the Kanji in Japanese names, as the pronunciation and transliteration will be unintelligibly different.
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:
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 their 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=*. In addition to the official name, use name:nl=* for Dutch names and name:fy=* for Frisian names. It is up to each municipality to decide what its name and that of the places within it are. For villages, towns, and cities, the official blue signs marking the village/town/city-limits tend to show the status quo:
- If only one name is shown, name=*, name:nl=*, and name:fy=* are all the same — old_name:nl=* and old_name:fy=* may be used for names in either language no longer in current use.
- If two names are shown, the upper name is the default name=*. Which one is name:nl=* and which one is name:fy=* is not noted on the sign, but locals know, as do most Frisians (so ask when in doubt).
Some places in New Zealand have official dual English-Māori names. Correct tagging for these is as follows:
The official languages in North 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
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 Guovdageaidnu - Kautokeino, Kárášjohka - Karasjok, Porsanger - Porsáŋgu, Deatnu - Tana, Unjárga - Nesseby, Gáivuotna - Kåfjord and Loabák - Lavangen
- Lule Sami: name:smj - Official language in the municipality of Hábmer - Hamarøy
- Southern Sami: name:sma - Official language in the municipalities of Snåase - Snåsa and Raarvihke - Røyrvik
- Skolt Sami: name:sms
- Kven (Finnish origin): name:fkv - Third administrative language in the municipality of Porsanger - Porsanki
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:
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.
- name:de=name in German
- name:hr=name in Croatian
- name:it=name in Italian (eg in areas of Slovenia where Italian is not officially recognized as minority language)
- name:jp=name in Japanese
- ... other languages as needed / known ...
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 Valencian Community (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=เชียงใหม่
If the English name and the direct romanization are different, the latter can be listed under the name:th-Latn=* tag, e.g. name:th-Latn=Thanon Sukhumwit.
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, these are sometimes written in either Roman, Arabic or Thai script.
name=ปัตตานี name:th=ปัตตานี name:en=Pattani name:mfa-Latn=Patani name:mfa-Arab=ڤطاني name:mfa-Thai=ปัตตานี
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)
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.
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.
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=*.
Some signs in the Highlands of Scotland have names in both English and Gaelic, almost always for place names (Mallaig, Fort William etc.), but often also on street signs, such as this one in Oban. Gaelic names can be tagged using name:gd=*, with name=* for the name in English. Note there are a few place names where the Gaelic name is the official name, for example Drochaid a' Chaolais Chumhaing in Sutherland.
gd is the ISO 639-1 code for Scottish Gaelic, which isn't the same as the other Gaelic languages (Irish and Manx), so this code is only for Scottish Gaelic. This is the 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)
Na h-Eileanan Siar
In the Western Isles (officially Na h-Eileanan Siar), Gaelic is the primary language. 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).
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.
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.
United States of America
Languages of indigenous peoples of Alaska:
|Name||ISO code||Location used|
||Arctic Northwest Arctic|
|Central Siberian Yupik||
||St. Lawrence Island|
|(Central Alaskan) Yup'ik||
||Norton Sound to Alaska Peninsula|
||Koniag, coastal Chugach, Kodiak|
|Deg Xinag (Ingalit)||
|Dinak'i (Upper Kuskokwim)||
||Upper Kuskokwim River|
||Arctic Northeast Alaska|
||Copper River Delta|
|Sm’algyax̣ (Coast Tsimshian)||
||New Metlakatla, lower Skeena River|
The Filipino language (name:fil=* has a notable presence in Guam, however, English remains the majority. Chamorro name:ch=* is also spoken by about 17% of the population. Some place names retain names originating from these languages.
||Guam, Northern Mariana Islands|
Northern Mariana Islands
Like American Samoa, English speakers are a minority. According to the CIA World Factbook, 33% of the population speak name:fil=*). The official languages are Chamorro name:ch=* and English. In general, use the names of places on USGS topographic maps or signed names if possible., the majority of which is most likely Filipino (
||Northern Mariana Islands|
||Guam, Northern Mariana Islands|
The US state of Hawaiʻi has both English and Hawaiian (name: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. Use the ʻokina ( ʻ ) on names of Hawaiian origin even when signs appear to use the straight apostrophe ( ' ) or a curly quotation mark ( ‘ ’ ).
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, Turkmen, 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. Russian continues to be widely used, especially in larger cities. On their websites or on social media, many businesses in Uzbekistan refer to their address in Russian. Hence, the current naming practice in Uzbekistan is to use Uzbek (in Latin script) for default names, while Russian names are thoroughly added in name:ru=*. In Karakalpakstan, the default name shall be in Karakalpak.
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 chữ Nôm. (BCP47 recommendation is to capitalize the first character in the script subtag like vi-Hani but that is not currently used in OSM.)
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.