ios如何正确检测的设备objective-c 语言用户?

标签: ios Objective-C
发布时间: 2017/3/21 23:40:38
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个关于 iOS 的查询。我想要检测到我的设备的语言,换任何文本在我的应用程序如果语言是英语和其他如果不是英语。但当我发现语言,总是检测区域,检测不到的语言。在其他词语如果我去更改语言,这不会改变。如果我改变地区,语言的变化。

我的代码是︰

 NSString *userLocale = [[NSLocale currentLocale] localeIdentifier];
NSString *userLanguage = [userLocale substringToIndex:2];
NSLog(@"%@", userLanguage); // return format "en", "es"... (english or spanish)

可能是这一问题出现因为 [NSLocale currentLocale] 得到 en_Us 与此参数取决于区域吗?

谢谢你 !

解决方法 1:

如果你想要的语言尝试

[NSLocale preferredLanguages];

它将返回用户的语言首选项的数组并最首选的语言将会在列表中的第一。

NSLocale 封装更多只是当前的语言。 如货币标识符和所使用的小数分隔符,这些只是几个。 在美国西北部西班牙讲用户可能想要在西班牙看到的东西,但可能仍会看到货币为美元。

说我怀疑什么你真正想找的是完整成熟的本地化支持案例有处于吨如何本地化您的应用程序的信息。 该宏

NSLocalizedString 

和它的兄弟姐妹允许您编写语言不可知论者代码 (大多数情况下)。

赞助商