As part of my Wikimedia Foundation work, I'm working on labeling in multiple languages using OSM data. We've run into an issue, and it's not clear how to best solve it.
It is sometimes recommended that when you add a name in another language you also indicate the name in the local language by adding a suitable name:* tag at the same time. For example, if adding "name:fr=Londres" to London, you would also add "name:en=London" if it weren't present. This practice is not widely followed. For example, 3% of the roads with names in multiple languages in the western US have a name:en tag.[1] Cities are better, but still only 30% of cities and towns with names in multiple languages have a name:en tag. For the same criteria in China and with Chinese, it's 30% of roads and 75% of cities.[2] This is a problem for displaying labels. Proper display of labels is more than just showing the name in the language the user requested and falling back to the name=* tag. It requires falling back through multiple languages. For example, if someone requests a map in Luxembourgish, you would show German labels where places and objects have no Luxembourgish names. There are similar situations for French Creoles and many regional and minority languages. We'd like to be able to do more. Specifically, we'd like to always show labels in the user's script if possible. For example if a French user is viewing a map of India, they're more likely to be able to read an English name than one in a Dravidian language, Hindi, or Bengali. The common lack of a name:* tag for the primary language while having other name:* tags makes this impossible. There aren't any great solutions. Fixing this in software doesn't work well because it requires regional processing of what are increasingly small regions as you get to less used languages. Language detection from the tag value is fragile and introducing magic logic. This really needs addressing on the OSM data side. If there's agreement that there is a problem here, I could look at preparing a mechanical edit or MapRoulette challenge to add name:* tags, e.g. adding name:en to objects in the US with other name:* tags, and adding name:zh in China. As an estimate, this would be 115k changes in China, touching 28% of roads there. [1]: https://phabricator.wikimedia.org/T192662#4151714 [2]: https://phabricator.wikimedia.org/T192662#4147291 _______________________________________________ talk mailing list talk@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk