> I could set up such a style on the toolserver if it would be helpful,
> but I'd like to point to the localized maps we currently have in >30
> languages: http://toolserver.org/~osm/locale/ (use the layer switcher).

This is great!

...but it's not quite right (or I'm doing something wrong).

Here in Korea we are tagging names with 4 entries:

name=*
name:en=*
name:ko=*
name:ko_rm=*

Not all entries are required, but it is helpful if at least the first three 
are present.  Furthermore, the convention that has been adopted is that 
name=* should be the name in Hangul, followed by a space, followed by the 
name in English in parentheses.  It is acceptable to have only Hangul or only 
English for the name=* tag, because someone else can add the other parts 
later.

This is documented here:
<http://wiki.openstreetmap.org/wiki/Ko:Map_Features#.ED.91.9C.EA.B8.B0.EB.B2.95>

There is an English version under construction here:
<http://wiki.openstreetmap.org/wiki/Korea_Naming_Convention>

The same convention has been adopted in Japan.

So, as I see it, names should be rendered as follows:

If no language is requested, or a general-purpose name is required for an 
object, use name=* and render it verbatim.

If English is requested then use name:en=* if such a tag is present.  If it's 
not present then use name=*

If Korean is requested then use name:ko=* if such a tag is present.  If it's 
not present then use name=*

This generalises to "if language "lang" is requested then use name:lang=* if 
such a tag is present.  If it's not present then use name=*"

What this means is that name:lang=* is redundant with name=* for the native 
language, but only when the name=* tag has a special rule (such as "Include 
the English name in parentheses").  If Korean mappers (and Japanese mappers) 
had not adopted this convention then name=* would be Korean  (or Japanese) 
only and name:en=* would be the English version.  name:ko and name:ja would 
be un-needed, but the above rule would still work.

Incidentally, we type all four name entries by hand.  It would be nice to have 
a tool that would allow me to say "name is name:ko+' '+'('+name:en+')'".  
This should be done at 'compile time' i.e. when we are making the map, 
not 'run time' i.e. when the map is being rendered, since the mapper may wish 
to make the name=* tag slightly different to the concatentation of the two 
other tags.  Conversely we could have a reporting tool which reports when 
name=* differs from name:ko+' '+'('+name:en+')'.

Anyway, my point is, and I do have one, if I look at the website 
(http://toolserver.org/~osm/locale/) I see English labels when I select 
osm-labels-en (presumably taken from name:en=*) but I see the combined 
Hangul+(English) when I select osm-labels-ko.  Presumably these are being 
taken from name=* when they should be taken from name:ko.

Aside from that, it's super-awesome.

Best wishes,

Andrew

_______________________________________________
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging

Reply via email to