Ios 获取当前语言缩写(与本地化包名称相同)
我正在尝试获取当前语言的本地化缩写 我正在这样做:Ios 获取当前语言缩写(与本地化包名称相同),ios,objective-c,ios7,Ios,Objective C,Ios7,我正在尝试获取当前语言的本地化缩写 我正在这样做: [[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode] 使用该行,我可以得到以下结果:en,es,fr 我的问题是,如果我的iphone是英国英语的,我会得到相同的en,而不是en-GB 我还尝试了[NSLocale preferredLanguages],但后来我得到了美国英语的en-US,或者中国英语的zh-Hant-US,但在这种情况下,我不需要最后一部分 我使用它是因为
[[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode]
使用该行,我可以得到以下结果:en
,es
,fr
我的问题是,如果我的iphone是英国英语的,我会得到相同的en
,而不是en-GB
我还尝试了[NSLocale preferredLanguages]
,但后来我得到了美国英语的en-US
,或者中国英语的zh-Hant-US
,但在这种情况下,我不需要最后一部分
我使用它是因为我需要手动从本地化包中获取一些资源,这些资源自动命名为:en.lpoj
,en-GB.lpoj
,zh-Hant.lproj
有人知道如何使用与本地化包名称相同的格式获取当前语言吗?尝试使用
[NSLocale currentLocale].localeIdentifier
这将为您提供en\u GB
,但您可以将
更改为-
祝你好运 对于存在相同问题的任何人,您应该使用:
[[NSBundle mainBundle] preferredLocalizations]
它根据您的应用程序支持的内容获取语言。对于美国英语,它返回“en_US”,但是对于美国英语,本地化包名为“en lproj”。。。。我只是不能总是移除或替换它,因为我不知道它是否必要。我找到了解决方案,如果您对它感兴趣,我将它发布在这里@ajpallares