Localising default names of major towns and cities

Hello everyone,

Recently, few users (hydraserp and jamacker) started localising default English names of major towns and cities in India with other place related information like Wikipedia. OSMCha link: https://osmcha.mapbox.com/?filters=%7B%22date__gte%22%3A%5B%7B%22label%22%3A%22%22%2C%22value%22%3A%22%22%7D%5D%2C%22users%22%3A%5B%7B%22label%22%3A%22jmacker%22%2C%22value%22%3A%22jmacker%22%7D%2C%7B%22label%22%3A%22hydraserp%22%2C%22value%22%3A%22hydraserp%22%7D%5D%7D Although community is following uniform tagging across the country, this is the second time the users are repeating it. Many of us left comment on changesets - (https://www.openstreetmap.org/changeset/59350153 and https://www.openstreetmap.org/changeset/60164231#map=5/21.851/82.753)). User: hydraserp reverted all his/her changesets as per changeset discussion, where as jmacker started the same editing pattern in north India. The interesting thing is edits are happening from iD editor. Just wanted wanted to flag this to the community and discuss before taking further actions.


Hello Chetan_Gowda,

I just read the comments in the changesets.

Firstly, no matter how hard some here may try to spin it, the default name tag is only supposed to be in the local language. There is no ambiguity.

Secondly, Hindi is the official language in the Hindi states. There is no reason different Indian states can’t use different default names, especially since mapping is supposed to be done by the locals. Belgium, Switzerland, Finland, still use the local language despite being multilingual.

Gatekeeping like this discourages user growth for OSM in India and is alienating the majority of Indian internet users (which operate in non-English languages) from joining. See: https://slator.com/demand-drivers/localization-is-shaping-the-future-of-digital-india-kpmg-report/

  • jmacker

Comment - in general terms this is not a problem that is going to go away unless a tenable solution is found. While people see names in neighbouring countries written in their own scripts, and Google maps using bilingual names, the pressure is going to remain.

Using bilingual names (copying the practice of Google!) seems to be best option to me, though of course there are clear problems with names in two different scripts. But it is nothing that cannot be solved. A starting practice might be to encourage people to add name:en in most cases, and also name:hi or other script.

The existing model suits the typical early OSM mapper - educated, IT aware, and confident in their use of English. That is absolutely not everyone.

The subject of language has already been discussed very frequently. The community has decided in the past that English will be the official OSM language for India.

It was written in the OSM WikiProject India

Hindi is not the only official language in India but Hindi and English together.


Best regards

At the risk of stating the bleeding obvious, there is lots of ambiguity. Different OSM communities across the world have chosen very different approaches (just look at the UK, Belgium, different bits of Italy, Kosovo… and that’s just in Europe!). It’s often not easy to understand what “the local language” actually is for a particular scale of feature.

Perhaps it would be worth taking a step back and asking what problem you are trying to solve? Mobile apps usually use names localised to the language of the user; web apps are also free to use whatever language they like. Various people have written articles about how to do this, most notably https://www.openstreetmap.org/user/PlaneMad/diary/38176 . As another example I create web maps for the UK and Ireland that use Welsh-first and Scots Gaelic-first in the appropriate bits of Wales and Scotland (see https://www.openstreetmap.org/user/SomeoneElse/diary/42069 and https://github.com/SomeoneElseOSM/SomeoneElse-style/blob/master/update_render.sh ); you could certainly do something similar for India.

If you’ve got any questions about how to do whatever it is that you want to do, I’m sure that people would be delighted to help.

Oberaffe, please do not revert localisation edits, especially edits you haven’t made yourself. Edit warring is not a good idea.

That wiki page seems to only ever be edited by handful of editors. A few wiki editors cannot dictate the default name language tag. Also, the majority of it seems to be written nearly 10 years ago, when internet penetration of India was about 5% and when the majority of Indian internet users used English. This is very out of date.

Bilingual names as suggested by indigomc seem like a good alternative, but under no circumstance is only Latin/English appropriate. Reverting the localisation edits, like Oberaffe tried to do, is moving backwards. Edits like these: https://www.openstreetmap.org/changeset/60401071#map=7/27.190/80.858 are not helpful and actually do more harm as many of these places didn’t even have the local name tags, default or not. This edit completely removed that.

Of course India has many languages, but very few are actually used officially in various states. Every state really only has one language that is used by the government, is the medium of instruction in schools, and is used in road signs. The following are languages that OSM supports and the states/union territories where it is the official/primary language:

Hindi - Andaman and Nicobar Islands, Bihar, Chhattisgarh, Delhi, Haryana, Himachal Pradesh, Jharkhand, Madhya Pradesh Rajasthan, Uttar Pradesh, Uttarakhand
Assamese - Assam
Bengali - West Bengal, Tripura
Gujarati - Gujarat, Dadra and Nagar Haveli, Daman and Diu
Kannada - Karnataka
Konkani - Goa
Malayalam - Kerala, Lakshadweep
Marathi - Maharashtra
Nepali - Sikkim
Punjabi - Punjab
Tamil - Tamil Nadu, Puducherry
Telugu - Telangana, Andhra Pradesh
Urdu - Jammu and Kashmir

Google Maps more or less also follows the above categorisation. (They still working to add a few languages to some states)

You’re right about this. Thus the default tag is nothing more than an aesthetic and so there is no reason NOT to use the local language in this case, especially since name:en exists and these apps can pick up the English names the same way they do for the rest of the non-English speaking countries. The edits I make do not remove the English name, but rather moves it from the default name tag to the name:en tag. It doesn’t break anything.

The name tag is used for the local name or name in which the sign of the place is in. For example, city names in Japan are in the correct script(s), but if you zoom in to the street level of a random city, some of the shop names are in Latin/English. This is the correct way OSM naming should be done. Latin/English should only be used if the name of the place is actually in Latin/English.

Completely ignoring the local language in India and using ONLY Latin/English even for places that are supposed to be in the Hindi or other local name (the vast majority of India) is completely inappropriate. The situation in Scotland and Wales is different as English is still the primary official language and spoken by the majority. Definitely not comparable to India.

Dear Jmacker,

You just wrote yourself that Hindi is not the official language everywhere in India. Then why should Hindi become the standard language in India? This is definitely wrong. Fourthermore you list is not complete. There are various additional official languages in every state.

This means that English is one of the major languages in India. There is **not **written that Hindi is the only one!

Hindi is spoken by only 40% of the population as first language. This means that 60% speak another language! So about 530 million people do not speak Hindi and want a other language in OSM India!

My suggestion would be that from now on we write the English name first and the Hindi, Tamil,… (local) name second! This is done in this way in many countries. (e.G in Europe)

Simply replacing the English name tag is **vandalism **and will simply be reverted also in the future.

Hindi is taught compulsory in every state except Tamil Nadu. Status of Hindi in most non-Hindi states is comparable to that of English in Quebec. Yet I see place names in Quebec written only in French as the default. No English.

Hindi plus English are the only languages that the central government uses while each state can pick their own languages. We need to respect the federalism in India.

In fact, more people in India speak Hindi as a second language than English as a second language. (See https://en.wikipedia.org/wiki/Languages_of_India#Multilingualism) If you were to go to Punjab, the vast majority only know Punjabi and Hindi, very little English. (Speaking from experience.) Same for Gujarat, Maharashtra, and a few other states. In southern India, English is more popular than Hindi as a second language.

However, I am not saying to use Hindi in non-Hindi states. Hindi should only be used where it is the official or local language at the state level. (https://en.wikipedia.org/wiki/Hindi_Belt)

German, the primary official and majority language of that region, is still used first. Sorbian, an endangered language with few speakers, comes after.

Likewise, for India we should use the state language or the majority language of that region (Hindi, Telugu, Tamil, Marathi, etc.) first, followed by a space, then Latin/English. For example, Hyderabad should be written as “హైదరాబాదు Hyderabad” while Patna should be written as “पटना Patna”. This is the same system followed for the state names of neighbouring Myanmar. For India, this is the most suitable option as it respects the official/local state language while also providing convenience for non-Indian OSM contributors. OSM may render the Latin/English text to the next line if the name as whole is too long.

Noted. I will not be replacing the English names from now on. Do not revert my previous edits. Instead, I will systematically go through all my edits and readd English alongside the local language as the default name in the order mentioned above.

The problem is with openstreetmap.org, sooner osm is starts with en.openstreetmap.org or hi.openstreetmap.org the better.
It is high time to deprecate default name tag itself. It doesn’t make any sense.

Till then changing name tag with local/english will keep on going (hindi/english, tamil/english, malayalam/english).
Some will feel local is better. others will feel english is better.

One solution is rendering indic maps outside osm.

Many attempts are made for the same.

And whatever jmacker done will be reverted soon. The same has been discussed many times.

And jmacker more constructive way of creating hindi map will be adding name:hi to places which is not having that.


@jmacker , please don’t engage in edit wars as you have done on e.g. http://osm.mapki.com/history/node.php?id=313255437 . According to you user page you have been a “Mapper since: 25 June, 2018”, please do try to engage with the OSM community in India (who have been mapping for slightly longer) and don’t tell them what they “need to do”.

(edit following DWG complaint and revert)

Following a complaint to the Data Working Group, I’ve reverted your “revert” changesets (there are also some exceptions which I’ll work through shortly). What I’d suggest that you do from here is the following:

If the names that you changed things to were from a source that is licence-compatible with OSM (and note that wikipedia isn’t) you can add Hindi names as “name:hi” and also any other names as “name:(language code)”. You can also add any other information provided that that too comes from a source that is licence-compatible with OSM.

Best Regards,

Andy Townsend, on behalf of OSM’s Data Working Group

As someone who wrote much of the original guidelines on the wiki, yes the current usage in India of using English in the name tag has its problems, but overall less problematic than other alternatives. The approach values data consistency and usability on a national level rather than local/regional level.

While this is factually true, it should also be noted that knowledge of the latin script is more widespread and so is the usage of common English words in all regional languages (eg. shop, hotel, railway station etc is understood throughout the country).

The proof of this is the prevalence of signboards that have English names even in small towns that may not have English speakers. The exception is deeply rural areas, and in such places literacy itself is a barrier for written text to be consumed by the people.

Moreover reducing each state to one local language will eventually lead to further conflicts going ahead where multiple languages/scripts are used (eg. Telugu/Urdu in Telangana) and run the risk of marginalizing minority communities. The eventual solution might just be to overload the name tag with multiple languages.

jmacker, you mean well with the changes, but the complexity of language situation in the country means there is no way to satisfy everyone. The de facto approach of using the latin script as the default name has been more inclusive and neutral than other approaches.

Its also completely fine for local communities to deviate from this scheme if that works well for their use, eg. in a village or tribal area, but for catering to the largely urban user base, the current approach seems to work. Any change should take into account the practical issues rather than being led by the politics of language.

I think that some of the problems caused by using Latin script only is easily illustrated by viewing a map at subcontinental level in OSM, and comparing the town and city names for neighbouring countries.


It will appear to a newcomer that the India OSM is solely English. The lack of exposure of these scripts probably results in some loss of contributors. Compare it to the new Google maps.

The recent change there may have caused some of the recent pressure from new contributors. Google maps, (at least as I see it in the UK) is much more useful with its bilingual names, not only in India but other regions where the user doesn’t know the local script but may need it locally. This exposure will take more users to them. I’d hate to copy Google, but it is reasonable to assume that they know their customers and presumably they are satisfied that they are on to a good thing.

OSM usage by contrast still continues to be dominated by the usage of its core contributors.

A solution could be to enforce the use of the name:en tag instead of the name tag. Then a script could generate a bilingual name entry from both the name:en value and the appropriate name:xx if it is present, monolingual otherwise. This could be done by region. Then anyone who changes the name entry to another monolingual value would see it vanish each time the script was run, unless it was the accepted regional script and it was present as a name:xx value.

Also the discussions and vote at https://wiki.openstreetmap.org/wiki/Proposed_features/Default_Language_Format might be relevant.

This is fairly easy to implement on the rendering tile server without making any change to the data values, see these example:


To do this we need two things:

  • Setup an Indian tileserver which has vector tiles that includes all the Indic language tags. Openmaptiles and Mapbox has only limited languages
  • Create a custom map stylesheet that renders bilingual labels like in the demo

An automated script to populate name tags is unlikely to be approved by the DWG and the suggestion would be to use derivative db to make such changes.

Again we have a conflict about the use of the name-tag:
The user ALPZz changed (or newly mapped) the name-tag of places from english to local language in the whole Kutch district.
See here: https://www.openstreetmap.org/#map=9/23.4642/69.7014

I do not know how to handle all these conflicts.
Maybe Planemads idea of a tile server, where the main dialects of india can be chosen is a solution.