Changing language on iOS 8.1 simulator does not work
Asked Answered
S

5

76

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?

Segal answered 5/7, 2014 at 15:52 Comment(9)
You should file a bug about it.Rewire
Check the "known bugs" section of the release notes.Clime
iOS 8 Beta 3 fixes this issue.Segal
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.Ichnology
@hangzhouharry Many thanks. I also confirmed the result. The bug seems to occur only in the iOS8 Simulator. It is working fine in iOS7 simulators and iDevices, though.Chifforobe
After upgrading my dev machine to Yosemite, continue to have 7.1 simulator work correctly, 8.1 continues to fail.Ichnology
This is definitely failing still for me in an 8.1 simulator.Landmark
possible duplicate of iOS8.1 Simulator always uses US keyboard layout despite german hardware keyboardGotthard
Works with new xCode Version 6.2!Harvestman
M
170

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.

enter image description here

Medeah answered 1/11, 2014 at 22:25 Comment(5)
Works for apps, but apparently not for extensions.Gastronomy
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.Marcionism
This is quicker than changing language settings in the Simulator - nice!Domel
This work only partially for me. Storyboard localization works, but not localized strings =\Schweitzer
Instead of setting a concrete language, use "System Language". This is another option here. This will make the simulator language valid.Dezhnev
G
1

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

Gotthard answered 29/10, 2014 at 1:58 Comment(0)
G
1

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.

Glabrescent answered 15/12, 2015 at 16:50 Comment(0)
F
0

use [[NSLocale availableLocaleIdentifiers]

Foolscap answered 8/10, 2014 at 20:20 Comment(0)
C
0

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;

enter image description here

Xcode Version 11.3.1 (11C504)

iPhoneX iOS 13.3.1

Colourable answered 17/2, 2020 at 7:27 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.