Iphone 如何在IOS中获取ISO语言代码?

Iphone 如何在IOS中获取ISO语言代码?,iphone,xcode,ios,Iphone,Xcode,Ios,如何在IOS中获取当前的ISO语言代码?请查看Apple文档以了解更多信息 这将返回设备上所选语言的两个字母的iso代码。“en”表示英语,“de”表示德语,等等。 我希望这有帮助 [[NSLocale currentLocale]localeIdentifier]将为您提供一个更接近您所需的字符串。对于我在美国的设备,我得到“en_US” 如果您想要外观更标准的“en-US”,可以使用[[NSLocale currentLocale]localeIdentifier]stringByRepla

如何在IOS中获取当前的ISO语言代码?

请查看Apple文档以了解更多信息

这将返回设备上所选语言的两个字母的iso代码。“en”表示英语,“de”表示德语,等等。
我希望这有帮助

[[NSLocale currentLocale]localeIdentifier]
将为您提供一个更接近您所需的字符串。对于我在美国的设备,我得到“en_US”

如果您想要外观更标准的“en-US”,可以使用
[[NSLocale currentLocale]localeIdentifier]stringByReplacingOccurrencesOfString:@“u”with string:@“-”]


如果您只需要语言代码,可以将
[[NSLocale currentLocale]localeIdentifier]
的输出传递给
[NSLocale components fromlocaleIdentifier:
,这将返回NSDictionary。字典中的一个键是
NSLocaleLanguageCode
,它将有一个只包含语言代码的NSString对象。

我开始了,我在apple doc上遇到了一些小问题,多谢了。这个答案已经变成了链接腐烂的主题!顺便说一句,尝试打印该数组。它包含长度大于2的字符串。做出这样的假设可能会有伤害,你是对的。我的输出是:“en,fr,de,“zh-Hans”,“zh-Hant”,ja,nl,it,es,“es-MX”,ko,pt,“pt-pt”,da,fi,nb,sv,ru,pl,tr,uk,ar,hr,cs,el,he,ro,sk,th,id,ms,“en-GB”,“en-AU”,ca,hu,vi”我建议用:[[NSLocale preferredLanguages]objectAtIndex:0]substringToIndex:2]更新您的答案,这将始终返回两个字母的语言代码。@Raphael如何获得三个字母的iso代码,即“eng”、“abk”?
NSString *isoCode = [[NSLocale preferredLanguages] objectAtIndex:0];