osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.69k stars 1.02k forks source link

Transliteration bug in German #5954

Closed Discostu36 closed 1 year ago

Discostu36 commented 6 years ago

When using German place names and activating transliteration of non-German names, all Umlauts disappear from the location names in Germany. So e.g. Wörthstraße is rendered (and read out) as Worthstraße.

Discostu36 commented 6 years ago

Osmand 3.1.5 on Android

hayosc commented 5 years ago

I just found more or less the same bug in OsmAnd+ 3.2.7. More or less, because for me "Wörthstraße" (Kiel, Schleswig-Holstein, Germany) transliterates to "Worthstrasse". This happens if "Beschriftungssprache" -> "Transliteration, wenn Namen in Deutsch fehlen" is active. Here we have indeed two bugs: 1) Names in German should be displayed. In Germany, Austria and parts of Switzerland the standard name is the German name. There is nothing like de:Wörthstraße, which could be what OsmAnd expects. 2) The transliteration is wrong. If you transliterate German spelling to something like international 7-bit-ASCII, then it should result to "Woerthstrasse". The correct mapping is: ä -> ae, ö -> oe, ü -> ue, ß -> ss Transposing ö to o is something the US Americans do, because they do not know it any better.

Flexmaen commented 4 years ago

This bug still exists in 3.5.5.

I attached some screenshots.

  1. the current result
  2. the expected result (check the names Hönigtal, Lassnitzhöhe, Rastbühel)
  3. prove that the name will be displayed with "ö" in the details
  4. setting that causes this issue

So if you enable transliteration for other languages to German, it doesn't make sense that German gets transliterated for other languages. And btw this is wrong anyway. Since Words can have a complete different meaning if the are written with u or ü, ü usually transliterates into "ue".

osmand_1 osmand_2 osmand_3 osmand_4

scaidermern commented 3 years ago

Bug still exists in OsmAnd 3.9.10.

Flexmaen commented 3 years ago

There seem to be two bugs in here:

Discostu36 commented 3 years ago

I still have Worthstraße in Kiel, Germany. This is not a problem exclusive to Austria.

Maybe your examples have name:de?

Flexmaen commented 3 years ago

Interesting. I didn't find name:de for München, but the the cities in non-german-speaking countries certainly have.

It doesn't make sense to use transliteration for your own language anyway, but how does OSM know where this langauge is spoken? Also I think transliteration doesn't even make sense within langauges that use the latin alphabet. So if we have a é or č we wouldn't need transliteration.

Flexmaen commented 1 year ago

I tested this with 4.3.12 and the result is that I get different results on 2 devices.

On the device with Android 8, this bug still exits, but all names are in latin. On the device with Android 12, the Umlauts in German names are now shown, but not all things are transcribed into latin. For example in Serbia Jagodina is shown in latin, while Ћуприја (shown on the other device as Tshuprija) is not.

scaidermern commented 1 year ago

I can't reproduce this any longer with OsmAnd 4.5.1 on Android 10 and rendering engine v2. With rendering engine v1 it still exists, though.

Flexmaen commented 1 year ago

I can't reproduce this any longer with OsmAnd 4.5.1 on Android 10 and rendering engine v2. With rendering engine v1 it still exists, though.

Can I change the rendering engine manually? Maybe my devices are using different rendering engines. How about the Serbian examples I mentioned in your case?

scaidermern commented 1 year ago

Can I change the rendering engine manually?

Not with your heavily outdated version. In recent versions, you can change it via Settings / OsmAnd settings / Map rendering engine.

How about the Serbian examples I mentioned in your case?

They (mostly) look correct with both rendering engines as far as I can tell (I'm no expert at Serbian transliteration, though). I've checked the examples Vranje, Kraljevo, Kragujevac and Džep from #13900. They are transliterated exactly like this, except for the last one. Instead of Džep OsmAnd only shows Dzep.

Flexmaen commented 1 year ago

My old phone is not deppert, so it works even with Android 8! ;-)

Ok I tried again, and it is depending on the rendering engine. The result is like mentioned before: Rendering Engine V1: the bug here still exists Rendering Engine V2: the bug here doesn't exist, but there seems to be a new bug where not all places are transliterated, e.g. in Serbia still many cities are shown in cyrillic letters.

scaidermern commented 1 year ago

Rendering Engine V2: the bug here doesn't exist, but there seems to be a new bug where not all places are transliterated, e.g. in Serbia still many cities are shown in cyrillic letters.

Can't confirm. If I enable "Use latin name if missing", no cyrillic letters are left.

Flexmaen commented 1 year ago

Rendering Engine V2: the bug here doesn't exist, but there seems to be a new bug where not all places are transliterated, e.g. in Serbia still many cities are shown in cyrillic letters.

Can't confirm. If I enable "Use latin name if missing", no cyrillic letters are left.

Did you try to zoom in? When I don't zoom in to far it looks fine, since major cities are written in latin. If I zoom in closer, I'll have a lot cities in cyrillic. Tried with downloading the map or serbia as well as with just the world map and result was the same.

srb_0 srb_1

scaidermern commented 1 year ago

I get a similar rendering if I don't enable "Use latin name if missing" - which is expected. If I enable "Use latin name if missing" there are no more cyrillic letters. Same area and same zoom as you.

Flexmaen commented 1 year ago

Ok, I tried with OSMAnd 4.3.12 which is the latest version on F-Droid, you tried with 4.5.1. Maybe this is fixed alreay and if not could open a new bug later, since it is another bug anyway. Thank you for testing.

Going back to the original bug of this issue, it still exists on rendering engine V1 but is fixed in V2.

scaidermern commented 1 year ago

I tried with OSMAnd 4.3.12 which is the latest version on F-Droid

F-Droid has version 4.4.7. 4.3.12 is just the preferred version, for whatever reason.