
Ask HN: Any possibility of decent multi-language support on Android? - artistsvoid
How come multi language support is as poor as it is?<p>Living in a non English speaking country (whose language I also speak), my device
is set to English (as main language), which leaves me with the following problems:<p>Google maps will pronounce every street name in English. Can&#x27;t have messages from locals read aloud while driving (using android car) for the same reason. Can&#x27;t dictate even short replies using the local language. I can&#x27;t even initiate phone calls by voice since looking up contacts with non English sounding names is a pain.<p>The only remedy seems to be to set the complete device to the local language ; so now I
have all the problems reversed (it won&#x27;t be able to read English, I won&#x27;t be
able to dictate English), but this also switches over the complete system including
every app.<p>Setting multiple languages in Android seems to be for auto-correct only. Great! Love it &#x2F;s<p>Why no auto-detect? Google Translate (or MS Translator) do a reasonably good job
differentiating between dozens of languages, but Android can&#x27;t do that with only the
few languages I use and have set? Why is there no manual way to set a language for a certain app? This would be awesome for language learners. Play Game &#x27;XYZ&#x27; in let&#x27;s say French without having to switch over your complete system, why not?<p>Am I so alone with this, is my use case so unique? How come it sucks so hard in 2020?
======
necovek
In general, POSIX systems (like GNU/Linux) have done this part in a reasonable
way for a long time — you can start any program in a different locale
(language, number, date-time, character, collation settings...) by using a
variable name: LC_ALL or LANG or LANGUAGE (one of these is a GNU extension, I
always forget which of the two, and there are some nuanced differences). You
could even go so far to only "localise" some of those settings (LC_TIME or
LC_CTYPE or LC_MONETARY) to get whatever combination you wish.

The biggest problem with this approach was that you can't change languages on
the fly, so applications need to be stopped and restarted (wasn't much of a
problem for most CLI applications, I guess).

However, since _everyone_ thinks localisation is an easy problem, and they
just roll their own simplistic solution for translation, they have to rebuild
all of the same infrastructure to support this (yes, looking at you, web devs
:)).

Android, unfortunately, has done mostly the same, and is probably still not
there yet (it does make use of some of the GNU or ICU locales data, but I am
not sure how much and what combination it allows to be used). Big part of that
is that it's a hard problem regardless, so even if Android did it right, apps
would likely not use all the APIs properly.

