获取当前语言缩写(与本地化软件包名称相同)

问题描述:

我试图获取当前语言的本地化缩写。获取当前语言缩写(与本地化软件包名称相同)

我这样做:

[[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode] 

使用该行我能得到这个结果:enesfr

我的问题是,如果我的iPhone在英国的英语我它应该是相同的en而不是en-GB

我也试过[NSLocale preferredLanguages]但是后来我得到了en-US对于我们来说,英文是zh-Hant-US但是在这种情况下我不需要最后一部分。

我在使用它,因为我需要从本地化包中手动获取一些资源,该资源会自动命名为:en.lpoj,en-GB.lpoj,zh-Hant.lproj

做任何人都知道如何才能使用与本地化包名称相同的格式获取当前语言?

对于有你应该使用相同的问题,任何人:

[[NSBundle mainBundle] preferredLocalizations] 

它会根据你的应用程序支持什么语言。

尝试用

[NSLocale currentLocale].localeIdentifier 

这会给你en_GB,但你可以改变_-

祝你好运!

+0

它为我们英语返回“en_US”,但是我们英语的本地化软件包被命名为“en-lproj”....我只是不能删除总是_或者替换它,因为我不知道它是否它是否需要 – Gabox

+0

你是对的,那不是解决方案 – ajpallares

+0

我找到了解决方案,如果你对它感兴趣,我将它发布在这里@ajpallares – Gabox