I have added localized languages to game, and set the default language to EN in settings. However my question is how does the phone recognize when to change to a different language when the user first downloads and loads? If a user from Germany downloads my game and launch the game how does unity determine which language to use?
We have a menu in the game where user can select language but would prefer if it auto-detects when first loading.
Does unity localization look at phones language setting or phone locale setting when first loading app to choose the right language?
Also is it best practice to add all related region languages and add the same translation. E.G. I have English (EN) added and translated, should I add English (EN-GB) also using the same translation?
Just beware that a huge percentage of foreign users (at least in the EFIGSP countries) just use the English version anyway (eg they leave their phones on English), since a) they tend to all speak English, and b) it’s going to be the most-polished text by definition.
The English localization uptake in CN, JP and KR is a lot lower, and you’re more expected to localize for those in order to find market share, but those markets have other considerations before you can even do anything really useful there.
Yes we look at the system language (via CultureInfo and Application.SystemLanguage).
Its done by the System Locale selector you show in the image. If its not finding the system language then please file a bug report. The best place for localization questions in the future is here https://forum.unity.com/forums/localisation-tools-previews.205/