Multilingual names

From OpenStreetMap Wiki
(Redirected from Multilingual naming)
Jump to: navigation, search
Available languages — Multilingual names
· Afrikaans · Alemannisch · aragonés · asturianu · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · Bân-lâm-gú · Basa Jawa · Basa Sunda · Baso Minangkabau · bosanski · brezhoneg · català · čeština · corsu · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · latviešu · Lëtzebuergesch · lietuvių · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tiếng Việt · Türkçe · Vahcuengh · vèneto · Wolof · Yorùbá · Zazaki · српски / srpski · беларуская · български · қазақша · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · मराठी · हिन्दी · भोजपुरी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · བོད་ཡིག · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ‎ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 吴语 · 粵語 · 中文(繁體)‎ · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް
Logo. Feature : Multilingual names
One example for 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.


  • 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.
  • Instead one should refer to the international BCP 47 standard for locale tags (and to its associated IANA registry), that allows appending extensions to a base language code, using optional "locale subtags" separated by hyphens ("-"): a 3-letter "extlang" code for dialectal variants (deprecated since ISO 639-3), a standard 4-letter ISO 15924 script code, a 2-letter ISO 3166-1 region code, or a 3-digit UN M.49 region code for international regions. Using region codes should be avoided as much as possible (in most cases it is a script code that should be used instead). Transliteration systems may also be specified if the script code alone is not enough specific and there exists several competing transliteration schemes. These transliteration schemes have standardized codes in Unicode CLDR data, that defines its own extensions of locale subtags for BCP 47. The BCP 47 standard is also normatively referenced and used (instead of ISO 639 which has issues in terms of stability) by all W3C web standards (HTML, CSS, SVG, XML...) and by lot of internationalisation libraries and programming languages (including in C, C++, Java, Javascript in their standard libraries or with ICU).
  • 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.


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=*.


The municipalities with language facilities in Belgium, shaded darker. All of the German area has language facilities. 1. Comines-Warneton 2. Mesen 3. Mouscron 4. Spiere-Helkijn 5. Ronse 6. Flobecq 7. Bever 8. Enghien 9. Drogenbos 10. Linkebeek 11. Sint-Genesius-Rode 12. Wemmel 13. Kraainem 14. Wezembeek-Oppem 15. Herstappe 16. Voeren 17. Malmedy 18. Waimes 19. Lontzen 20. Raeren 21. Eupen 22. Kelmis 23. Burg-Reuland 24. Sankt Vith 25. Amel 26. Bütgenbach 27. Büllingen[1]

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:

Language facilities

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.

Example (Way Komenstraat - Chemin des Quatre Rois (XML, iD, JOSM, Potlatch2, history)):

  • name=Komenstraat - Chemin des Quatre Rois (format "fr - nl", see language facilities)
  • name:right=Komenstraat
  • 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:

With the problematic common way : Way Chaussée de Jette - Jetsesteenweg (XML, iD, JOSM, Potlatch2, history)

Another one:

With the problematic common way here : Way Rue de la Grosse Tour - Wollendriestorenstraat (XML, iD, JOSM, Potlatch2, history) (but also the "Rue de la Grosse Tour - Wollendriestoren") (note : lacking straat is correct) At the time of updating this wiki, the name:left:nl=* and name:left:fr=* tags are lacking for all those examples.

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 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
София-юг Sofia-yug
Перник-север Pernik-sever


  • 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: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-pinyin=*.)

It is also possible to add local names using the same template name:code if the language has an ISO 639-1 or ISO 639-2 code (for example 'bo' for Tibetan, 'ug' for Uighur, 'mn' for Mongolian, etc.).

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.


name:en=Chaoyang Park South Road
name:zh_pinyin=Cháoyánggōngyuán Nánlù

name:zh_pinyin=Zìgòng Shì

name:zh_pinyin=Xīchuān Xiàn

name:mn=Баарин Жэгүн қосиу
alt_name:mn=ᠪᠠᠭᠠᠷᠢᠨ ᠵᠡᠭᠦᠨ ᠬᠣᠰᠢᠭᠤ;Baɣarin Jegün qosiɣu
name:en=Bairin Left Banner
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.

The ISO 639-1 code is kw. So name=English Street, and name:kw=Cornish Translation (if shown).


All name=* tags should be in Croatian. Bilingual places are no exception. Italian names should be in name:it=* tags, and Serbian names should be in name:sr=*.

This was decided by vote on our mailing list:


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 Amharicscript. 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.


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.


Bilingual streetsign in Perpignan, both in Catalan and French.

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 local name, possibly bilingual
  • name:fr=* for the explicit legal French name (needed for correct fallback to French from the following regional languages, otherwise may fallback first to another language, such as German for Alsatian, or Dutch for West Flemish, or Spanish for Catalan and Basque)
  • 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 and Provençal)
  • name:ty=* ty for Tahitian (in French Polynesia)
  • name:eu=* eu for Basque (including Gascon)
  • name:vls=* vls for West Flemish

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).


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 to the Latin alphabet using ISO 843:1999 (same as ELOT 743)
  • Way names are written in the Greek genitive case (no English equivalent; it is used to describe the owner of something, in this case who a way -street/avenue/square etc.- is named after). This is different from the name itself (which is expressed in nominative case)
  • "Οδός", 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" ("λεωφόρος")
  • "Λεωφόρος", Greek for "avenue", transcribes to "Leoforos"
  • When there is a first and a last name, like in Eleftheriou Venizelou Avenue (Λεωφόρος Ελευθερίου Βενιζέλου) the order of first and last names is kept, unlike in printed guides where they were reversed for indexing reasons

So, "Λεωφόρος Δημοκρατίας", (after "Δημοκρατία", meaning "Democracy Avenue") is transliterated to "Leoforos Dimokratias". It can also be expressed as "Dimokratia Avenue", if "λεωφόρος" is translated, instead of transcribed. Note that "Dimokratia" (nominative) becomes "Dimokratias" (with an "s", genitive) after "Leoforos", but remains nominative before "Avenue", hence the dilemma: Do concepts like "Avenue" get transcribed or translated? If translated, how should the Name be expressed, in nominative or in genitive case? Then again, translation makes the name language-specific, while transcription does not. So, it's transcription for int_name and maybe translation for name_en.

Resulting naming convention (examples: Οδός Σταδίου and Λεωφόρος Ελευθερίου Βενιζέλου, also widely known as Λεωφόρος Πανεπιστημίου):

  • name=* and (optionally) name:el=* name in Greek ("Οδός" is omitted), eg. Σταδίου, Λεωφόρος Ελευθερίου Βενιζέλου
  • int_name=* transcribed name (genitive case is preserved), eg. Stadiou, Leoforos Εleftheriou Venizelou
  • name:en=* (optional): transcribed name (nominative case with the suffix Street, Avenue etc.), Stadio Street, Eleftherios Venizelos Avenue. The first example sounds really wrong, but why use name:en=*, if it would be the same as int_name?
  • old_name=* (optional): old Greek Name, eg. blank, Λεωφόρος Πανεπιστημίου

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


name=Okay Les Cayes
name:fr=Les Cayes


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.

Hong Kong

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

Take Connaught Road Central (干諾道中) in Central for example.
name=干諾道中 Connaught Road Central (note the space between the languages)
name:en=Connaught Road Central


See India#Naming in different scripts and languages for more information on conventions followed for multilingual names in India.


We use name=* and full_name:fa=* for Persian street names and name:en=* for English street names . See Iran/Tagging rules#Naming for more information.

Ireland (Republic)

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.


Friuli-Venezia Giulia

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 and/or Slovenian; you should add them using name:de=* and name:sl=*

Alto Adige/Südtirol (South Tyrol)

Languages of South Tyrol. Majorities per municipality in 2001

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).


name=Bolzano - Bozen

name=Brixen - Bressanone

name=Urtijëi (or name=Urtijëi - St. Ulrich - Ortisei)
name:de=St. Ulrich

Sardegna (Sardinia)

Languages of Sardinia.

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:





See Japan tagging#Names and JA:Naming sample for more information.

Usage Example
name=Japanese name=首都高速道路
name:en=English or romanization of Japanese name:en=Metropolitan Expressway
name:ja=Japanese name:ja=首都高速道路
name:ja_rm=romanization of Japanese name:ja_rm=Shuto Kōsoku Dōro
name:ja_kana=Japanese Kana form

A standard language code for romanized Japanese would be name:ja-Latn=* and the Kana form would be name:ja-Kana=*


Korean is the only official language in Korea. Korean is written in Korean (using Hangeul).

Street signs often incorporate romanized or translated versions of names. Most often they are in English, but Chinese and Japanese can also be found. The romanization should follow the Revised Romanization of Korean for South Korea, and the McCune–Reischauer romanization for North Korea.

Usage Example
name=Korean name=경부고속도로
name:en=English name:en=Gyeongbu Expressway
name:ko=Korean name:ko=경부고속도로
name:ko_rm=romanization of Korean name:ko_rm=Gyeongbugosokdoro
name:ko_hanja=Hanja form name:ko_hanja=京釜高速道路

See also:


Street signs in Lebanon are written in Arabic and in French, tagging is :

name=طرابلس for arabic name
name:ar=طرابلس for arabic name
name:fr=Tripoli for the french version


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:

name=Rue de Koerich

for Rue Saint-Ulric / Tilleschgaass, the correct tagging is:

name=Rue Saint-Ulric


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


name=Методиjа Патчев
int_name=Metodija Patčev (transliterated name using diacritics system)
name:en=Metodija Patchev (transliterated name using digraphs system)

name=Булевар Ослободување
int_name=Bulevar Osloboduvanje (transliterated name using diacritics system)
name:en=Boulevard Osloboduvanje (translated to target language)

name=3-ти Ноември
int_name=3-ti Noemvri (transliterated name using diacritics system)
name:en=3-ti Noemvri (optional since it's same as int_name)


Street signs in Morocco are written in Arabic, with some also including French. Preferred tagging is name=Rue Rabat شارع الرباط, with name:ar=شارع الرباط for the Arabic name and name:fr=Rue Rabat for the French version. If the Berber (or Tamazight) version is included, it should be between the French and Arabic versions in the full name, with a key of name:zgh=* or name:ber=*.


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.[1] In addition to the official name, use name:nl=* for Dutch names and name:fr=* for Frisian names. In Eastern parts of the Netherlands, some places have a Low German name, use name:nds-nl=*.





New Zealand

Some places in New Zealand have official dual English-Māori names. Correct tagging for these is as follows:

name=Aoraki/Mount Cook (official dual name)
name:en=Mount Cook (English name)
name:mi=Aoraki (Māori name)


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.

For example:

Russian Federation

Since Russian is official language of Russian Federation name=* tags should contains 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 additional to Russian.

name=Катунь + name:alt=Кадын

In case of international brands, an original name may be used without translation if a brand holder prefer to use it without localization. For example:

name=KFC or name=Toyota should not be transliterated at all since brand holders uses original names.

Some names may be transliterated if the cyrillic name is commonly used:

name=Subway + name:ru=Сабвэй or name=Papa Johnes + name:ru=Папа Джонс any way, the name tag should contains the international 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. 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.

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:

name=official name in Slovak
name:hu=official name in Hungarian

The current opinion of the majority of the active Slovak mapping community is to NOT put both names into the name=* tag. If you'd like to discuss this, please visit the Slovak forum.


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:

name=Vitoria - Gasteiz

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.

Example: name:gsw==Züri as an addition to name=Zürich and name:en=Zurich. Code gsw most probably means "German SWiss". See [1] and [2].

See de:Switzerland/Map Features#Mehrsprachige Benennung (name).


Taiwan uses traditional Chinese characters. Names in Chinese should use these characters. Romanized names should be mentioned as the name:en=Street Name field.

Taiwan#Translation (中文地址英譯) mentions how to translate names.

Following the Taiwan Post Office guide, the following rules should be applied:

Name (Chinese) Name (English)
西 West

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:


Here is a real life example:

name:en=Alley 28, Lane 256, Section 3, Nanjing East Road

Different Romanisations are in use in Taiwan. (?:) 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.)


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:

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:en=Chiang Mai

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:en=Chiang Rai

In the 4 provinces of Songkla, Patani, Yala and Narathiwat Bahasa Jawi (بهاس جاوي) is used widely.




Street signs in Tunisia are written in Arabic and in French, tagging is :

name=عربي for arabic name
name:ar=عربي for arabic name
name:fr=français for the french version


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.


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: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


In Wales, for instance, many if not most, streets have a Welsh name and an English name.

Simply tagging 'name=Terrace Road' doesn't work, as this ignores the Welsh version. Using nat_name, as currently recommended in Map features isn't satisfactory, as there is ambiguity over what is the 'national' name (English and Welsh both have equivalent legal status).

A suggestion is to use 'name:language=streetname' where 'language' is the two letter language code from ISO639-1 eg name:en=Terrace Road and name:cy=Fford-y-Mor.

There is a Welsh language render available at it renders name:cy=* where it exists, and falls back to name=* where its unavailable.

A good background email [3] from Simon Hewison provides context.

If you're going to use name:language=placename, then I'd suggest that within Wales, you use name:cy=placename.

cy is the two letter ISO639-1 language code for the Welsh language.

There are some places in Wales where nobody uses an English placenames, or there is no English placename, eg. Ystrad Mynach.

There are also some places in Wales where there are no commonly used Welsh placenames, and Welsh speakers tend to use the English language place name, eg. Crosskeys.

There are also some places in Wales where the signposted welsh language placenames are wrong, and were made up by well-meaning but non-Welsh speaking civil servants after 1971 when protesters had been defacing or destroying English language only signs, and road signs in Wales were supposed to include the national language of Wales. An example of this was Aberdaugleddau, known to English speakers as Milford Haven. There are some signs about that incorrectly signposted it as Milffordd, though last time I was there, they had been amended with stickers with the correct spelling. This example must have been a guess at transliterating place names, since Haverfordwest was Hwlffordd.

Finally, some places in Wales have English language names that are an attempted anglicisation of the Welsh placename, so that it's not a translation, but something easier for non-Welsh speakers to pronounce and spell. For instance, Caerphilly (English) should actually be spelt Caerffili (Welsh). In many cases, early English mapmakers attempted to spell Welsh words using phonetic English and English grammar. The result is that these forms of names appear all over Wales.

Much of this information comes from

As such, I reckon that you should set the name tag to the Welsh name in areas where the Welsh language has a high concentration of native speakers, and use name:en for the English name in such situations.

Ditto for street names. Many street names are signposted in Welsh only, yet they do have official English translations, eg. Stryd-y-Capel becomes Chapel Street, but it's never signposted as Chapel Street, and most English speakers refer to it as Stryd-y-Capel in their address. In which case, set the name tag to be the Welsh language.

There really is no substitute for local knowledge when doing place names in mapping. Although Wales has reasonable Bing imagery coverage, much was historically mapped with old maps like New Popular Edition (which regularly mis-spelt place names in Wales). If as an English speaker you want to map Wales, go and visit the place. It's a marvellous place. Speak to the locals, they're mostly friendly, especially the members of Cymdeithas yr Iaith (Welsh Language Society) if you show an interest in getting Welsh language placenames on maps with the correct spelling.

If it is mapped as described above, names appears in English, except when a Welsh map is rendered. This does not correspond to the signage on site. This does not correspond to the bilingual status (both languages are equal). This harms the Welsh language, a minority language.
It is better to use name:en for English names and name:cy for the Welsh name. In the name field, a neutral or a bilingual version can be entered. Examples of Newcastele Emlyn:
* Sign on a building: Neuadd Emlyn Hall ("neutral"; en: Emlyn Hall, cy: Neuadd Emlyn);
* Street Sign: Heol y Castell / Castel Street (taged as: name Heol y Castell / Castel Street name:cy Heol y Castell name:en Castel Street);
* Shop sign: Cygidd Jenkins Butcher's (tagged as name Cygidd Jenkins Butcher's (could also be only Jenkins) / name:cy Cygidd Jenkins / name:en Jenkins Butcher's)
This way, english rendered maps are in English; Welsh rendered maps are in Welsh and all other maps gives not priority to one of this two languages; Wales appears as what it is, a bilingual area - as f.ex. Biel/Bienne, Haiti, Hong Kong, etc.

Shared boundary features

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
name:fr=Le Rhin

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.