总是在iOS中获得ISO 639-2(三个字符)语言代码?

Jos*_*nez 4 localization ios

我正在开发一个需要三个字母(ISO 639-2)语言代码才能访问REST服务的项目.我希望使用当前的语言设置[[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode].不幸的是,这种方法更喜欢返回两个字母(ISO 639-1)语言代码.有没有办法可以强制NSLocale返回更新的代码,还是有另一种方法可以用来将双字母语言代码转换为三字母语言代码?

小智 8

Github上查看我的代码,获取NSLocale上的类别以获取ISO 639.2语言代码.它很简单:

[[NSLocale currentLocale] ISO639_2LanguageIdentifier];
Run Code Online (Sandbox Code Playgroud)


sor*_*rin 5

不,你做不到.你必须手动转换它们,这不是很简单.

  • 如果存在这样的转换,我不会看到它比使用简单的映射表更复杂. (2认同)