ChatGPT解决这个技术问题 Extra ChatGPT

Changing language on iOS 8.1 simulator does not work

If I change the language on an iOS 8.1 simulator to anything and try to detect this from code with

NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"Language: %@", language);

I get "en" back. I've tried resetting the navigator, etc. I've tried this using the iOS 7.1 runtime (in Xcode 5.1.1), and it worked fine. Has anyone managed to find a workaround to this problem?

You should file a bug about it.
Check the "known bugs" section of the release notes.
Currently have this simulator bug using Xcode Version 6.1 (6A1052d) and running OSX Ver 10.9.5. Correct code above returns en on simulator with language set to Chinese (simplified) while actual iPad returns "zh-Hans" as expected. Will try upgrade to OS-X X.
After upgrading my dev machine to Yosemite, continue to have 7.1 simulator work correctly, 8.1 continues to fail.
This is definitely failing still for me in an 8.1 simulator.

a
adjwilli

According to the release notes this is a known issue. There is a work around. If you go to "Edit Scheme..." then the "Options" tab there's an "Application Language" option. This only affects the current run settings, not the app, much like changing the language of the device.

https://i.stack.imgur.com/74xw0.png


Works for apps, but apparently not for extensions.
This must be accepted as an answer. While it doesn't offer a fix for iOS simulator bug, that's what Apple has to do, this answer offers the best workaround to run your apps localized. IMHO, this approach is much better if you only need to run your app localized and don't care about changing system language in simulator.
This is quicker than changing language settings in the Simulator - nice!
This work only partially for me. Storyboard localization works, but not localized strings =\
Instead of setting a concrete language, use "System Language". This is another option here. This will make the simulator language valid.
C
Community

Another dupe of iOS8.1 Simulator always uses US keyboard layout despite german hardware keyboard

Known and documented bug as mentioned in the Xcode 6.1 release notes. File a radar if you want to add your +1 to the complaint list at http://bugreport.apple.com


B
Blazej SLEBODA

My simulator is in French language. When I want to check interface in English then changing the iphone language is not enough. I have to switch the region settings minimum two times.


M
MillaresRoo

use [[NSLocale availableLocaleIdentifiers]


k
kazuwombat

In my case, editing schema works for region but not for language. It looks overwrite by development language. Changing developmentRegion works fine with project.pbxproj like this.

developmentRegion = ja;

https://i.stack.imgur.com/3H8fF.png

Xcode Version 11.3.1 (11C504)

iPhoneX iOS 13.3.1