Did locale.Identifier change with 2019 R2.1 for iOS?

Hello Community,

when I check locale.Identifier within 2019 R1.1 (Xcode 10.3) in an iOS project I had results like en_EN or de_DE.
Now with 2019 R2.1 (Xcode 11.2.1) I have en or DE.

On macOS I still have results like en_EN.

I have checked the release notes from 2.0 and 2.1 but could not find an information.

Is this a bug or a feature?
Is this change from 2019 R2.1 or from iOS SDK / Xcode 11.2.1?

Best regards


This is a pure change of the ios simulator, not Xojo.

As long as you didn’t define a region in the simulator, results will be en or de, but not a 5 character identifier.

@Jeremie Leroy
Thank you for your information.

I have checked the settings in the simulator. I have configured a custom location. I have still only en in the locale.identifier.

I have tried switching the language from my macOS but there is no difference in the observed behaviour.

I have made a little demo app with the following code in a button

Var wobinich as Xojo.Core.Locale
Var Lang as Text
Var tmptext(-1) As Text

wobinich = Xojo.Core.Locale.Current
Lang = wobinich.Identifier

MessageBox Lang

In the simulator on my system I got en.
When I build the app and copy it to my iPhone SE for testing I got the expected result en_DE (according to my settings on the iPhone SE).

I will create a iOS app with Xcode / swift and check what I get there.



It looks like it makes a difference where / how you set the region.
In the iOS simulator you can define a location via menu (debug -> location -> custom location) and inside the settings from the virtual device.
When I configure a different language and region inside the virtual device I got en_DE.