Sounds good! I’ve added the following info to the list of known issues: GNUstep Base will also currently not return the system locale as the current NSLocale on Android (the current locale will always default to en_US_POSIX). As a workaround, the app can manually set the system’s locale identifier for the key "Locale" in NSUserDefaults, and use -[NSLocale autoupdatingCurrentLocale] to retreive the locale. Frederik
> Am 18.09.2020 um 10:44 schrieb Stefan Pauwels <[email protected]>: > > OK, -[NSLocale autoupdatingCurrentLocale] works, but only if I > [[NSUserDefaults standardUserDefaults] setObject:whateverCode > forKey:@"Locale"] > > So, firstly: Thanks a lot, this solves my problem! > But secondly I think for setting up GNUstep on Android it’s not enough to > just [NSUserDefaults setUserLanguages:] as mentioned in > https://github.com/gnustep/tools-android#status-and-known-issues > <https://github.com/gnustep/tools-android#status-and-known-issues> and the > sample app. > > Stefan > >> Am 17.09.2020 um 10:41 schrieb Frederik Seiffert <[email protected] >> <mailto:[email protected]>>: >> >> Hi Stefan, >> >> Can you try using -[NSLocale autoupdatingCurrentLocale] as suggested by >> Wolfgang? >> >> I think currentLocale gets initialized once doesn’t change when updating the >> user default value. >> >> Frederik >> >> >>> Am 16.09.2020 um 17:37 schrieb Stefan Pauwels <[email protected] >>> <mailto:[email protected]>>: >>> >>> But how? Even if I do this: >>> [[NSUserDefaults standardUserDefaults] setObject:@"de_CH" forKey:@"Locale"]; >>> I will always get „en_US_POSIX“ for >>> NSLog(@"Current Locale: %@", [NSLocale currentLocale]); >>> >>> >>>> Am 16.09.2020 um 14:59 schrieb Wolfgang Lux <[email protected] >>>> <mailto:[email protected]>>: >>>> >>>> Hi Stefan >>>> >>>>> Am 16.09.2020 um 12:23 schrieb Stefan Pauwels <[email protected] >>>>> <mailto:[email protected]>>: >>>>> >>>>> Hi >>>>> >>>>> I am initializing GNUstep on Android as advised in the tools-android >>>>> README, i.e. I am calling >>>>> [NSUserDefaults setUserLanguages:] >>>>> which seems to work for just setting the language, but when I try to rely >>>>> on the currentLocale (for other information like region, metric system >>>>> usage, etc.) I always get „en_US_POSIX“ as the locale. >>>>> >>>>> Is there a way to manually init the locale correctly? >>>> >>>> The user’s current locale is initialized from the user defaults. This >>>> should normally be modified by the defaults tool from the command line or >>>> by the SystemPreferences application. >>>> To override that programmatically in your own application set the "Locale" >>>> default in the standard user defaults. You may also need to use >>>> autoupdatingCurrentLocale to see the effect of the change. >>>> >>>> Wolfgang >>> >> >
