|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 Belarus
- 3 Belgium
- 4 Bulgaria
- 5 China
- 6 Cornwall
- 7 Croatia
- 8 Ethiopia
- 9 Finland
- 10 France
- 11 Germany
- 12 Greece
- 13 Haiti
- 14 Hawaiʻi
- 15 Hong Kong
- 16 India
- 17 Iran
- 18 Ireland (Republic)
- 19 Isle of Man
- 20 Italy
- 21 Japan
- 22 Korea
- 23 Lebanon
- 24 Luxembourg
- 25 Macedonia
- 26 Morocco
- 27 Netherlands
- 28 New Zealand
- 29 Romania
- 30 Russian Federation
- 31 Scotland
- 32 Serbia
- 33 Slovakia
- 34 Spain
- 35 Switzerland
- 36 Taiwan
- 37 Thailand
- 38 Tunisia
- 39 Ukraine
- 40 Uzbekistan
- 41 Wales
- 42 Shared boundary features
- what should the plain name=* tag be (local name, at least if not disputed), and how to specify the language that the name tag is in.
- how to specify transliterations. It has been proposed to use a key of name:code_trans where code is as above and trans specifies the transliteration, both being separated by an underscore.
There doesn't appear to be a standard list of transliteration codes.But avoid transliteration except in special cases.
- Also avoid using codes used by Wikipedia (or collected in Wikidata in list of Wikipedia articles) for its interwiki links if they are not standard BCP 47 locale tags: their meaning is only to differenciate the Wikipedia editions as they are in fact mapped to valid subdomain names (which are not restricted to be using only BCP 47 locale tags but can be any "word"), or are used in some Wikipedia extensions; most of these non-compliant codes are slowly being phased out and replaced in Wikimedia projects; this includes "en-simple" (use "en" only), "sr-ec" (use "sr-cyrl"), but also some codes which were incorrectly asssigned and that represent in fact other languages (such as "nrm" incorrectly used for Norman in Wikipedia). OSM data should not include these imported dirty quirks: replace them by BCP 47 compliant codes (or append "private use" extension subtags defined in BCP 47, for example "en-x-simple" instead of "en-simple" if you really need a distinction from "en" for standard English).
- Note: BCP 47 locale subtags are not case-sensitive (even if they have recommanded casing), and OSM data should use tags with key "name:code" where the code is a complete locale tag compliant to the BCP47 standard, in their prefered form (excluding aliases defined in the IANA registry and deprecated or replaced tags or subtags), but only using lowercase letters (including in locale subtags for scripts and regions).
- Keep uppercase codes used only for naming prefixes or suffixes in region specific tags (that are also independant of the language used): use preferably ISO 3166 codes in this case.
On this page we give some country by country information particularly regarding the language used in the main 'name' tag. See Exonyms for some examples.
Belarus has two official languages (Belarusian and Russian), Belarusian language has two variants (Classical and Official). As russian language is used more widely, community decided that the name=* tag value should be in russian if it exists and make sense. A russian name value also should be duplicated in name:ru=* tag, belarusian official should be in name:be=*, belarusian classical optionaly in name:be-tarask=*, int_name=* transliterated from name:be=*.
Belgium has three official languages (Dutch, French and German) and four language areas (Brussels is considered a separate, bilingual French-Dutch area), see the map.
Brussels is completely bi-lingual, which means that the city council must operate in both languages, and no language can be preferred. The city council solves this f.e. by alternating name signs with Dutch and French as top language.
In OSM, we have a consensus to use a fixed order. Since we refrain from involving politics, it has no further meaning to us than to keep data consistent for human and automated processing. The name=* tag in OSM contains both the French and Dutch name, separated by a spaced hyphen (f.e. name=Rue du Marché aux Poulets - Kiekenmarkt), and the first mapper needs to use the correct order of the names (changing the order of the names afterwards to "nl - fr" is considered vandalism if you are not a beginning mapper). Next to the bilingual name tags, there are also name:fr=* and name:nl=* tags which can be used to render or search the data in a specific language. Make sure to only include 1 spaced hyphen in a street name. Hyphens in street names are never spaced. Knowing this a computer program can easily analyse this data.
Similar to the name tags, address tags are also bilingual. Every address in Brussels should have the following tags:
- addr:street=*: The streetname, in the 'fr - nl' order.
- addr:street:fr=*: French street name, equal to the name:fr=* tag of the street.
- addr:street:nl=*: Dutch street name, equal to the name:nl=* tag of the street.
Next to the completely bilingual Brussels, there are also municipalities with language facilities (see the map).
These municipalities are supposed to operate in the official language of the community, but must provide services to minority language groups upon request. This means f.e. that all streetnames also have an official translation and are normally signed with the translation too. But there's no language-equality as in Brussels.
These municipalities should have the official translated names under name:nl=*, name:fr=* and name:de=* (depending on which language facilities are offered), the name=* tag should contain only the official name in the primary language. For the moment, the municipalities bordering Brussels also follow the naming schema used in Brussels (with both languages in the name tag), while the other municipalities have a tendency to only include a single language in the name tag. Do not delete translated data by following this rule. If a good translation exists in a dutch municipality in french, do not remove it. We only care for correct data, as much as possible without being intrusive in any way.
Combination with name:left=* and name:right=*
Belgium has many boundaries that follow roads, and different municipalities often opt to give different names to the boundary street, resulting in differing addresses on both sides of the road. These are mapped by adding an addr:left=* and addr:right=* tag to the way.
This becomes even more annoying when one (or both) of the municipalities are bilingual or have language facilities. In these cases, the Belgian community opted to extend the tags to f.e. name:right:fr=*. Note that in these cases, a name:fr=* tag isn't guaranteed to exist, as it's possible that only one side of the street has a translated name. name:left=* and name:right=* should exist in these cases.
- name=Komenstraat - Chemin des Quatre Rois (format "fr - nl", see language facilities)
- name:left=Chemin des Quatre Rois (format "fr - nl" for Brussels, see language facilities)
- name:left:fr=Chemin des Quatre Rois
- name:left:nl=Vier Koningenweg
This tagging scheme is far from a perfect solution, JOSM validator will not let this pass, if you have multiple relation:associatedStreet relations on a single way, JOSM will complain on validation. This is a shortcoming in the tagging scheme for these kind of situations. And there is no appropriate alternative solution at this moment. In Brussels there are quite some streets with this problem. There is probably also not a huge amount of support for name:left:*=* in software at the moment.
Some more BXL examples:
- 2962546 in "1090 Jette"
- 3243383 in "1081 Koekelberg"
- 3292381 in "1080 Molenbeek-Saint-Jean - Sint-Jans-Molenbeek"
With the problematic common way :
About the first mapper rule
Note that the "first mapper rule" is deprecated now. The consensus in the .be community is to address "fr - nl" for all name=* and addr:street=* tags, and include specific languages in subtags. Consistency of data is more important than who came first and what his preferences are. A custom Urbis validation tool is available at github.
Unofficial languages and dialects
Next to the official languages, some dialects can also be added as translations.
In Wallonia, use "name" for the common french name, if you want to complete with the walloon name, use "name:wa". For example, for the city of Liège, we use :
In West Flanders, name:vls=* is used to mark West-Flemish names. Please stick to the spelling of vls.wikipedia.org when adding translations.
The official language in Bulgaria is Bulgarian written in Cyrillic.
Road and other signs in Bulgaria are written in Bulgarian and are usually transcribed to the Latin alphabet according to the Bulgarian transliteration law.
- The geographic terms: планина (mountain), равнина (plain), низина (valley), плато (platteau), град (city), село (village), река (river), езеро (lake), залив (bay) etc., which are part of the geographic name, are generally transliterated as follows:
Стара планина Stara planina
Атанасовско езеро Atanasovsko ezero
- Geographic terms that are not part of the name, should be translated (here example in English):
Нос Емине Cape Emine
- The terms "северен" (northern), "южен" (southern), "източен" (eastern), "западен" (western), "централен" (central) and similar ones, in case they are part of the geographic name, should be transliterated:
Централен Балкан Tsentralen Balkan
name=: name in Bulgarian (бул. Източен)
int_name=: transliterated name (bul. Iztochen)
name:en=(optional): Iztochen Blvd.
Most names in China are written with Chinese characters, but an English version and pinyin version can be very useful for foreigners.
Pinyin should be written with accents since without accents, it usually does not add any information over the English name.
Names in autonomous areas (of Provincial, Prefectural, or County level) should be in either the most commonly used local language or in Latin script.
A whole standard entry would include:
name=<Chinese> name:zh=<Chinese> name:en=<English> name:zh_pinyin=<Chinese pinyin (with tones)>
Note that zh_pinyin is not a standard language code (as pinyin is not a language, only a romanisation system). If a more coherent system is developed, zh_pinyin can be changed to something else. (A standard language code for Pinyin would be
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.
For road names, however, an indication of 大道 (avenue), 路 (road), etc. is customarily provided. Try to use official translations on the street signs for the English names; if unavailable, refer to the vocabulary in #Taiwan for entries like 巷 and 弄.
name=朝阳公园南路 name:zh=朝阳公园南路 name:en=Chaoyang Park South Road name:zh_pinyin=Cháoyánggōngyuán Nánlù
place=city name=自贡市 name:en=Zigong name:zh=自贡市 name:zh_pinyin=Zìgòng Shì
place=town name=淅川县 name:en=Xichuan name:zh=淅川县 name:zh_pinyin=Xīchuān Xiàn
place=city name=巴林左旗 name:mn=Баарин Жэгүн қосиу alt_name:mn=ᠪᠠᠭᠠᠷᠢᠨ ᠵᠡᠭᠦᠨ ᠬᠣᠰᠢᠭᠤ;Baɣarin Jegün qosiɣu name:en=Bairin Left Banner alt_name=Bairin name:zh_pinyin=Bālín Zuǒ Qí
Cornwall is a county in the UK. People spoke Cornish(Kernewek) up to the 19th Century. There are some people that think Cornwall should/could be its own country, or at least keep its own identity and so some road signs to attractions get the Cornish flag spray painted over the English Heritage sign.
Some of the street signs of Kerrier District Council have the names also written in Cornish. It seems good to add this data to OSM, though the English name is likely to be the only one used.
This was decided by vote on our mailing list: https://lists.openstreetmap.org/pipermail/talk-hr/2013-May/001815.html
With more than 90 recognized languages, OSM tagging in Ethiopia can be challenging. The national official language is Amharic name:am=* and the language of instruction in High Schools and Universities is English name:en=*. Each of the Regions (states) within the country have also adopted an official language for that region. Typically official as well as unofficial signs in the various regions show names in two or more scripts: the local language, often using Roman or Latin script and then in the 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.
- name=* Amharic name / local or English 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 Peoples Region
- name:wal=* Wolaytta language in portions of Southern Nations Nationalities Peoples Region
Some cities/places/streets have names in Finnish and Swedish. Use name key for the commonly used language (mostly Finnish, use Swedish version if municipality is mainly Swedish) and name:fi and name:sv for the specific language version.
Three Sami languages are recognized up in the north, Northern, Inari and Skolt Sami, in the following municipalities: Enontekiö, Utsjoki, Inari and Sodankylä. The ISO 639-1 code system covers only Northern sami (tagged as name:se). But with the ISO 639-2 code system all three languages are taggable with the name key. Northern Sami is tagged with name:sme, Inari Sami with name:smn and Skolt Sami with name:sms.
More information on the WikiProject Finland page.
France has many regional languages besides French. None of them are recognized nationally but may have some limited support from regional or local collectivities (including in schools and universities). There are also bilingual street signs. Some language codes are :
- name=* for the default 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
The US state of Hawaiʻi has both English and Hawaiian (haw) as its official languages. Most place names retain the aboriginal Hawaiian names, with a few notable examples like Pearl Harbor. Most place names are now officially spelled with the ʻokina (glottal stop) and kahakō (macron) where appropriate. Street signs may or may not have the proper diacritics.
Under "One Country, Two Systems", in Hong Kong, one of the special administrative regions of China, both Chinese and English are gazetted as the official languages. As a result, both Chinese and English names are used. The current bilingual (Chinese zh and English en) tagging conventions as follows:
name=* Names in both languages (Traditional Chinese first, followed by English)
name:zh=* Name in Traditional Chinese
name:en=* Name in English
See India#Naming in different scripts and languages for more information on conventions followed for multilingual names in India.
Officially, all street signage must be bilingual, Irish and English, unless the name is of a place in a Gaeltacht (area where a majority speaks Irish as a first language), in which case signs must be Irish-language only.
Certain rare examples exist of placenames outside Gaeltachts where the English version has been successfully supplanted by the Irish version, at least when written. Such towns (including Portlaois/Port Laoise and Dunleary/Dún Laoghaire, formerly Kingstown). Examples (past and current) do exist of places where the English name has endured despite signage that would suggest differently (Kells/Ceanannas, Bagenalstown/Muine Bheag, Charleville/Rath Luirc/An Rath). For these places, only local knowledge will allow you to tag "correctly".
Safest tagging practise is generally to use the English-language version, where given, as the primary name, including the Irish-language version under name:ga=*. Where only a single name is provided, this name will be in Irish, but is likely, in the absence of local knowledge to the contrary, to be the best primary name.
In Gaeltacht areas, it is probably best to use the Irish version of a name as primary name and tag the English version (where known) under name:en=*. This simple rule of thumb does break down where a Gaeltacht place is better known in English, or whose popularly used local Irish version is different to the officially recorded name, as in Dingle, a mostly English-speaking town in a Gaeltacht whose local Irish name is Daingean Uí Chúis but which is officially known as An Daingean.
Isle of Man
Many street signs in the Isle of Man have both an English version and a Manx version of the name. The Manx version should be added to the object using the name:gv=* tag, and the English version added with the name:en=*. Whichever version is used as the primary name (usually the English version) should be used in the main name=* tag as well.
In Friuli Venezia Giulia many places and geographical features (rivers, mountains...) have a toponym in Friulian. These names should be added as name:fur=*. In some villages the names of the roads are both in Italian and Friulian so you should add them in the same way. In certain cases there are two version of the toponym, one in standard Friulian and one in the local form; you should add the local form too using loc_name=*. Here you can find a document with a complete list of toponyms in standard Friulian. There's a rendering which shows Friulan names and you can find it here.
Alto Adige/Südtirol (South Tyrol)
German and Italian are both official languages of South Tyrol. In some eastern municipalities Ladin is the third official language. (c.f. Wikipedia). Every town has two (or three) official names; but even the street names are mostly bilingual.
The German and Italian (and Ladin) names of towns, streets, POIs, etc. are tagged separately with the respective name:* tags (name:it=* for Italian, name:de=* for German and name:lld=* for Ladin). There seems to be consensus in including both languages in the general name-tag separated by a dash, where the (locally) more commonly used name comes first (most of the time this will be the language, which dominates in the municipality). Examples are "Bolzano - Bozen" (Italian first), "Brixen - Bressanone" (German first).
In Sardinia Sardinian and Catalan toponyms are protected by the national law 482/1999 and all the names in the local languages are co-official with Italian. These names should be added as name:sc=* (for Sardinian), or name:ca=* (for Catalan) and also the name tag must contain both the local and the italian name. You can find the local toponyms here. Other local languages, and related place names, are Corsican (Sassarese and Gallurese) name:co=* and name:lij=* for Ligurian (tabarchino).
Many places and geographical features (rivers, mountains...) have a toponym in the local languages. In some villages the names of the roads are both name so you should add them in the same way. In certain cases there are two version of the toponym, one in standard form and one in the local form; you should add the local form too using loc_name=*.
The correct tagging would be like:
|Needs clarification. This section specifies multiple ways for transliteration tags:name:ja_rm and name:ja-Latn.
The standard tags for transliteration uses script codes, see BCP 47.
"ja_rm" in BCP 47 means Japanese as spoken in region code "RM" (compatibility code kept for... Madagascar). Note that BCP 47 makes no difference between "-" and "_". The same applies to other romanization systems such as zh-Latn for pinyin in Chinese. This is standard, and not following this convention cuts the route to support standard I18N libraries and tools!
|name:en=English or romanization of Japanese||name:en=Metropolitan Expressway|
|name:ja_rm=romanization of Japanese||name:ja_rm=Shuto Kōsoku Dōro|
|name:ja_kana=Japanese Kana form|
this section specifies name:ko_rm for transliteration name, but many other guides use name:*-Latn for romanized tags. Is name:ko_rm still correct?
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.
|name:ko_rm=romanization of Korean||name:ko_rm=Gyeongbugosokdoro|
Street signs in Lebanon are written in Arabic and in French, tagging is :
In Luxembourg, Village names and their signs are bilingual, Luxembourgish and French. For example, Bascharage in French is Nidderkäerjeng in Luxembourgish. Most street names generally are only noted in French, but some bilingual street signs have been installed.
name:lb=* can be used for Luxembourgish names when there is one.
for Rue de Koerich / Kärcherwee, the correct tagging is:
for Rue Saint-Ulric / Tilleschgaass, the correct tagging is:
The official languages in Macedonia are Macedonian written in Cyrillic and Albanian written in Latin.
Even though it is official language Albanian is not used for road names and most of other signs in most Macedonia. Across the country For road names and signs only Macedonian is used and it also is transcribed (when available) to the Latin alphabet according to the Macedonian transliteration rules.
- The geographic terms: планина (mountain), низина (valley), плато (platteau), град (city), село (village), река (river), езеро (lake), залив (bay) etc., which are part of the geographic name, are generally transliterated as follows:
Шар планина → Shar planina
- Geographic terms that are not part of the name, should be translated (here an example in English):
Охридско езеро → Lake Ohrid
- The terms "северен" (northern), " јужeн" (southern), "источeн" (eastern), "западен" (western), "централен" (central) and similar ones, in case they are part of the geographic name, should be transliterated:
Скопје Север → Skopje Sever
- Dates that are part of road names or signs should be transliterated. The number should be separated from the ordinal suffix with a dash ("-"):
1-ви Мај → 1-vi Maj
- Ordinal numbers should also be transliterated. The number should be separated from the ordinal suffix with a dash ("-"). The ordinal suffix should be declined according to the corresponding gender:
15-та Бригада → 15-ta Brigada
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. In addition to the official name, use name:nl=* for Dutch names and name:fy=* for Frisian names. In Eastern parts of the Netherlands, some places have a Low German name, use name:nds-nl=*.
Some places in New Zealand have official dual English-Māori names. Correct tagging for these is as follows:
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 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.
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:
Some names may be transliterated if the cyrillic name is commonly used:
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:
Depending of the zone you could find 3 additional languages: Català (ca), Galego (ga) and Euskera (eu)
Català its spoken in Catalunya, Illes Balears and several places in the Comunitat Valenciana (north east and balearic islands) Usually the official name for the places is that one but sometimes you are going to find names in Spanish, as an example the official name for one of the provinces its Lleida, but also for tradition this place its known and marked in several maps as Lérida.
The correct tagging would be:
The same happens with the Galego, spoken in the northwest corner, and with Euskera spoken in the basque region and Navarra. There are few exceptions like Donostia - San Sebastián and Vitoria - Gasteiz where the official form depends on the local administration and historic use of the names, so the correct tagging in this case would be:
Please check out the right situation in each placename.
The ISO code for Rhaeto-Romance languages including the 4. national language Romansh is rm (ISO 639-1; ISO 639-2: roh) Currently ISO 639-1 and -2 specifications do not provide any differentiation between Romansh dialects, therefore rm should be used mainly for the more or less official "Rumantsch Grischun". The problem of missing ISO codes for different Romansh dialects seems still unresolved and needs discussion.
For names in Swiss german dialects ('Schwiizertüütsch','Schwyzerdütsch') add following tag to name=* tags: name:gsw=a Swiss german name. For explanations about the notation of Swiss german dialects see GISpunkt HSR Wiki.
Taiwan#Translation (中文地址英譯) mentions how to translate names.
Following the Taiwan Post Office guide, the following rules should be applied:
|Name (Chinese)||Name (English)|
Since "Aly." and "Ln." sound quite cryptic and don't save that many characters, the whole English name will be used for Lanes and Alleys.
A whole standard entry should include:
name=<Chinese> name:zh=<Chinese> name:en=<English>
Here is a real life example:
name=南京東路三段256巷28弄 name:zh=南京東路三段256巷28弄 name:en=Alley 28, Lane 256, Section 3, Nanjing East Road
Different Romanisations are in use in Taiwan. (?:) 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: http://thaimap.osm-tools.org/
Transliterated Thai script (using RTGS) is usually entered in the name:en tag. Whether it is a translation or a full transliteration depends on the context and on the ground-truth. A good rule of thumb is to check what locals would use when describing the feature to a foreigner or how it is listed in the english Wikipedia. For example "วัดโพธิ์" is called "Wat Pho", not "Pho Temple". Here a full transliteration is used. On contrast "ถนนสุขุมวิท" is called "Sukhumvit Road" (also on street signs), not "Thanon Sukhumvit". The name is still a RTGS transliteration but the word for Road is translated.
name=เชียงใหม่ name:en=Chiang Mai name:th=เชียงใหม่
In some areas of Thailand other languages are common as well. Often signs contain words in those languages as well. Use the appropriate language code to enter them in OSM.
The Language spoken in Northern Thailand is Kam Muang (ᨣᩴᩤᨾᩮᩥᩬᨦ) and can often be found on street signs with the ISO639-3 code of nod.
name=เชียงราย name:th=เชียงราย name:en=Chiang Rai name:nod=ᨩᩭᨦᩁᩣᩭ
In the 4 provinces of Songkla, Patani, Yala and Narathiwat Bahasa Jawi (بهاس جاوي) is used widely.
name=ปัตตานี name:th=ปัตตานี name:en=Pattani name:mfa=ڤطاني
Street signs in Tunisia are written in Arabic and in French, tagging is :
Ukraine has one official language (Ukrainian). However due to historical backgroung of many territories in some areas Polish is also in use. Additionally, as a post-Soviet cultural phenomenon, Russian is extremely widespread as a second language, in some areas (Crimea, Eastern Ukraine) dominating over official Ukrainian. Finally, in Crimea there is another language used by the peninsula's indigeous people, Crimean Tatars, who constitute a notable part of the population there. Considering these factors, Ukrainian OSM community widely uses Relation:associatedStreet to provide scalable multilingual support. Generally the following scheme is used:
name on the way (street) - in Ukrainian or in Russian, according to the truth on ground rule. There had been several holywars concerning "default" language. While inside a city it is recommended to keep this tag to a single language prevalent there (i.e. on the street signs). "Default" for Ukraine is Ukrainian, however one should use it reasonably. As an example many signs in Crimea installed during Soviet period are still in Russian. In questionable situations DWG recommends to keep to the "Truth on the Ground" rule.
name on the relation (associatedStreet) - same as above.
name:uk, name:ru on the relation (associatedStreet) - for multilanguage support. May be accompanied by the less widespread name:pl (Polish), name:crh (Crimean Tatar) as well as international name:en etc.
Note that all street ways sould be included in the relation with "street" role, while the houses related to the street should be included with "house" role for correct address processing.
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 good background email  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 http://www.caerphilly.gov.uk/pdf/equalities/welsh-language-scheme-05-08.pdf
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.
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