【发布时间】:2017-12-06 14:39:34
【问题描述】:
从 iOS 11.0 开始,以下代码返回 "de_US" 而不是 "en_US":
// => Returns "de_US"
NSString *regionCode = [[NSLocale currentLocale] objectForKey:NSLocaleIdentifier];
NSLog(@"Region code: %@", regionCode);
在 iOS 11 以下,它返回“en_US”。
我的设备支持英语/美国的语言和地区。 首选语言(尽管我没有在我的代码中使用它们)是按顺序排列的:
- 英文
- 德语
- 法语
这是 iOS 11 的已知问题吗? API 有变化吗?
【问题讨论】:
-
这是发生在设备上还是模拟器上?此外:该应用程序有英文本地化?
-
它发生在设备上:iPhone 6 Plus。应用程序只有一个本地化:Xcode 目标中的“Localizable.strings”文件。此文件中的值是德语,但我没有指定它是 Xcode 中的德语文件。所以我想知道这个“de_”是从哪里来的。
标签: ios localization ios11 nslocale