osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.58k stars 1.01k forks source link

Latin names are transliterated into Latin without diacritics #9413

Open zekooooo opened 4 years ago

zekooooo commented 4 years ago

I usually have language set to local names. I've had a look at the maps of Slovenia, Austria and Croatia with Slovenian, German and Croatian with transliteration enabled.

It appears that when there is no name:sl, etc. parameter (including for example Slovenian street and placenames with Slovenian enabled, because they would be put under name= and not name:sl=), the local name is "transliterated" by being stripped of diacritics. For example: Bežigrad => Bezigrad, Gmünd => Gmund are both misrendered in both Slovenian and German w/ transl.

I believe Latin script names should preserve diacritics when using another Latin script with transliteration, because:

1) names in the local language are set under name= and not typically repeated under name:xx= which the program seems to look for 2) diacritics are meaningful and represent completely different pronunciations in many languages, yet are easy to ignore by those who don't understand them (excluding a few completely non-English letters such as German ß and Icelandic þ and ð).

Using OsmAnd~ 3.7.4 on Android 7.

vshcherb commented 4 years ago

True, though this is not necessary for people who want to transliterate names i.e. once person is not satisfied with local names he would like to see it latin characters. We use standard simple library to transliterate which probably doesn't detect good enough diacretics. So I would say it is a minor issue cause user can switch to local names and probably should use by default.

laurentS commented 3 years ago

I just found the same issue with ç used at least in French and Portuguese, which is replaced with c in both languages when the map language is set to English. While ç is pronounced like ss, c is usually a hard k sound, to add another example to @zekooooo 's second point. I wasn't aware that the transliteration applied also to latin languages, so I mispronounced a couple of place names, and actually incorrectly reported issues on OSM because of this. It's not a disaster What is the library you use to transliterate? Maybe it would be useful to report this over there?

Flexmaen commented 1 year ago

This is a duplicate of https://github.com/osmandapp/OsmAnd/issues/5954

I think we'd close the other bug and leave this open since it seems to affect more languages than just German. I don't see this as minor issue though, since you'll just need transliteration for close countries like Serbia, Greece etc. but will end up with messed up city names in other neighbouring countries as well as in your own. Also it is strange that I now had 2 different results on 2 different devices.

Maybe you could add another option if you want to remove diacritics or not. But otherwise, you might be able to read latin names with diactritics anyway. And it also differs from language to lange, e.g. in German if you cannot write an ü it turns into ue, while there is no such thing in other languages.

Flexmaen commented 1 year ago

It seems that this bug is fixed in Rendering Engine V2 while it still exists in Engine V1. See at the discussion of the linked duplicate above.

vshcherb commented 1 year ago

Merged to https://github.com/osmandapp/OsmAnd/issues/13900