iOS:从iPhone获取3个字母的语言代码

时间:2012-11-06 21:30:18

标签: iphone objective-c ios

  

可能重复:
  Getting current device language in iOS?

我需要 3个字母的语言ISO 代码,因为它是对另一个服务的调用的一部分。我可以使用NSLocale.CurrentLocale.Identifier来获取国家/地区代码,但不能使用设备设置的语言。

1 个答案:

答案 0 :(得分:1)

你能做的最好的事情是:

  [[NSLocale preferredLanguages] objectAtIndex:0];

根据Apple文档的说法是:

  

用户首选语言的有序列表。

     

用户在配置设备时选择主要语言,如查看语言和区域设置中所述。他们还可以按优先顺序指定一种或多种辅助语言,以便在更高优先级语言中无法使用本地化时使用。使用此属性可获取当前用户的有序语言列表,以区域设置标识符字符串数组的形式显示。

您可以在此处详细了解:IETF BCP 47

您可以自己完成从您返回的等效ISO 3字母代码的映射。从iOS调用回来的内容中只有47个条目,所以没什么大不了的。