I have internationalized my game with 3 languages. (4.19, blueprint, both IOS and Android).
Set to All languages in packaging and specified the 3 localized languages.
I can change language in the game via UI buttons and the text change accordingly on both OS.
However if I change my phone to French language and region, the text does not change automatically to english.
I have added nodes GetCulture, GetLanguage and GetLocale, and they all return English, on IOS and on Android.
Here is something maybe interested in the IOS log file:
Feb 16 15:33:21 B2 fod_419[1477] : [2019.02.16-15.33.21:642][ 0]LogInit: Using OS detected language (fr-FR).
Feb 16 15:33:21 B2 fod_419[1477] : [2019.02.16-15.33.21:642][ 0]LogInit: Using OS detected locale (fr-FR).
Feb 16 15:33:21 B2 fod_419[1477] : [2019.02.16-15.33.21:647][ 0]LogTextLocalizationManager: No specific localization for ‘fr-FR’ exists, so the ‘fr’ localization will be used.
What languages have you localised to, and what is your native language set to?
Is this on a clean install of your game, or one you’ve previously changed the language on?
That sounds like it was detected correctly then. Are you not seeing your French text, or is it only the function that is returning the incorrect result?
It should be “Get Current Language” and “Set Current Language” that you’re using (under Utilities → Internationalization).
Will try on a clean 4.19 Android project and let you know.
No sure it is relevant but in my project I exported Po files in the same directory (Content/Localization). Just wondering if this could cause confusion in the packaging.
Did you use the localization dashboard to set-up your target? It won’t care about the PO files, but the LocRes files should be Content/Localization/{TargetName}/{CultureName}/{TargetName}.locres
Native language is English. Localised to French (fr), Danish(da) and Japanese(ja).
I can get all these languages displayed correctly by clicking in my UI, so the language files are there.
But the nodes get current culture, get current locale and get current language always show ‘en’, on IOS and Android, no matter what the phone is set to.
I have also just fired a 4.21 Android blank project with just the nodes and it also returns english even if I change my phone to French or Danish.