[OSM-talk] Revival: Multilingual Country-List

Hans Schmidt z0idberg at gmx.de
Thu Feb 21 12:01:40 UTC 2013


Am 21.02.2013 12:36, schrieb Peter Wendorff:
> Well... if there's no localized name tag, then you may omit the 
> name:xx tag for that language, as there's no alternative.
> On the other hand name:de might be useful even then, as it's possible 
> to translate programmatically if the software knows about the 
> language. The German suffixes -straße, -weg, -platz could be 
> automatically transcoded to street, way and square, the afaik swedish 
> -gatan is street again, väg is way and so on.
> But if you try to translate something to another language this way 
> where you don't know the source language, it's much more difficult.
>
Why would you want to translate the street names? Do you want to 
translate Paris' “Avenue des Champs-Élysées” to “Allee der 
Champs-Élysées”? Nobody would know what it is anymore.
Also, nobody wants to translate a “Lindenallee” in some minor german 
town to “Linden avenue”.  Also, automatic translation would be error prone.

> So a recommendation might be to
> - always tag name
> - if you translate name into different languages, always add 
> name:originalLanguageCode with the same content
> - if you want, add that even if you don't translate it to different 
> languages.
>
> Yes, that's redundant - but it's easy to cut out for software (cut out 
> every language attribute that equals the plain name), if wanted; and 
> it's less error prone than a tag like "language=de" or like the lists 
> of default language areas you propose above.
> Sure: These list are helpful for all cases where only name is given, 
> and that's a necessity for great software dealing with that, but 
> that's the way defaults in OSM work: there should be a few defaults 
> for mappers, where they should decide to not add a tag, but more 
> defaults for data consumers, who could/should be able to have a best 
> guess where data is missing. 

You say that there should be few defaults for mappers. But what you 
propose is exactly the opposite: You'd have a default, meaning that you 
would need to create a name:originallanguage even if there is a name 
present. I would bet that nobody does this. And if you don’t do it like 
that, chaos will occur if you decide to display the name.

In contrast, if you do it based on region, it would simplify things much 
more:

1. You take the nodes/relation for Canada, add language=en.
2. You take the nodes/relation for Québec: language=fr

Then everybody would just continue using name=British Columbia and 
name=Montréal, and no problem. The multilingual renderer would then 
show, in case the user wants to see French names, name=Montréal and 
name:fr=Colombie-Britannique. If the user is English, he would show 
name:en=Montreal and name:British Columbia.

Tell me where this is not easier than adding a redundant name:en or 
name:fr for every town, bus stop and street in Canada. You would only 
have to change the multilangual renderer so that it would display it 
like that. This is no problem because I guess it is still in development 
– It could be done relatively easy (from a non-developer standpoint 
speaking).

Plus, most of todays nodes only have a name=... tag, not a name:xyz=... 
one. You would not need to change anything.





More information about the talk mailing list