Comments added to [[https://phabricator.wikimedia.org/diffusion/MSKA/browse/master/packages/babel/lib/LanguagePicker.js;f05741d7e82e96fbeb9751f7b6c2165d8dd9562e?as=source&blame=off|LanguagePicker.js]] say that it tries to "latinize" some content based on script suffixes like `_rm` or `_pinyin` if requested language uses the same script. The way it actutally works is currently problematic in the following aspects:
# It picks Latin-suffix name for non-Latin languages (T208927).
# It picks codes like "sr-Latn" that is often associated to name variant that doesn't apply to any other Latin-script language. It does so even if local name (associated to OSM "name" key) already is in Latin script (T195318, T229516).
# It doesn't pick "zh_pinyin" name for Latin-script languages, e.g. it's currently provided for [[https://www.openstreetmap.org/node/244080943|Tongliao label node]], but [[https://maps.wikimedia.org/osm-intl/7/107/46.png?lang=nl|Dutch-language tile]] still displays non-Latin name.
If it would be possible for LanguagePicker to actually differentiate between languages that use Latin script and those that doesn't, then picking certain codes like "zh_pinyin", "ja_rm", "ko-Latn" for Latin-script languages is probably appropriate. Codes like "sr-Latn" on the other hand should probably be ignored when picking name variant for other languages.
Tasks mentioned above cover particular cases where wrong name is displayed. This task intends summarize the underlying issue.