获取当前语言缩写(与本地化包名称相同)
Get current language abbreviation (same as the localisation bundle name)
我正在尝试获取当前语言的本地化缩写。
我正在这样做:
[[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_GB
,但你可以将 _
更改为 -
祝你好运!
对于遇到相同问题的任何人,您应该使用:
[[NSBundle mainBundle] preferredLocalizations]
它根据您的应用支持的语言获取语言。
我正在尝试获取当前语言的本地化缩写。
我正在这样做:
[[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_GB
,但你可以将 _
更改为 -
祝你好运!
对于遇到相同问题的任何人,您应该使用:
[[NSBundle mainBundle] preferredLocalizations]
它根据您的应用支持的语言获取语言。