- Most towns are small, and have only one name.
- Larger towns often have names in multiple languages (Wien, Vienna, Vienne, Vídeň…; London, Llundain, Londres…)
- Generally, one of these names tends to be a default name for languages which don’t have a specific name for the town.
- The issue of how to represent the name of a town in a language which would use the default name, except that the default name is written in a different script, is an interesting one. It may be solvable programmatically. This needs investigation.
- Most large software projects eventually run into the need to show the names of towns to the user. libgweather has locations.xml, which is a real nuisance to translate because the strings get folded, so there’s no way to translate York in England differently from York in Nebraska or York in Pennsylvania. And there’s also marble, and whatever the KDE weather applet is using, and OpenStreetMap needs translation as well, and probably a bunch of others, and most or all of them are reinventing the wheel of name translations.
- Therefore: I would like to propose a standard database (in a standard decided format, maybe xml-based, maybe not) somewhere central, like freedesktop like the iso-codes package, under a free licence, which contained:
- all the names of a town, by language
- one of those names marked as default (the great majority of towns will have only a single name)
- latitude, longitude, and if uncontroversial political superentity (country, or state+country)
- possible extra data as necessary, such as airport ID
- a unique ID code
- We can mostly generate this information from working backwards from the existing projects. This will also be a good demonstration of if and where the duplicated information is inconsistent.
- Various projects can then sync their data with this database, or use it directly. Clearly it’s not worth starting until we know people are likely to use it. Your feedback is requested.
- Towns which have more than one name in the same language and where using either name is a politically sensitive matter are beyond the scope of this document, but are a problem we will certainly run into.
Updates:
Feedback from KDE/Marble people: What is needed is:
- a simple way of mapping to other databases using unique keys, etc.
- it is DFSG-free, otherwise most projects can’t use it
- there is a simple and easy way for translators to change and contribute.
Feedback from Abigail Brady: http://geonames.org already exists and is almost exactly what is described above.
HOWEVER, geonames.org is cc-by, which is not DFSG-free, so it’s rather a dead end. (Of course OpenStreetMap is also cc-by-sa and hence also not DFSG-free.)