Get culture/language/locale not returning correct value

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.

Have I forgotten something?

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).


The game stays in english and the get language/culture/locale also returns ‘en’.

I have managed to make it work on a blank project using 4.21/Android.

Phone set to Danish and is detected properly. So wondering of it is 4.19 related?

I’m not aware of it being broken in 4.19. Does it work on a clean 4.19 project?

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

It is on my game.

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.

Ok this is very embarrassing.

At an early stage in my game I forced English as language and culture (just found it buried in a blueprint).

So everything was working as it should.

Sorry for wasting your time. Feel free to delete this thread.

Ah, that would do it :slight_smile: