我对特定文件有“en”和“en-AU”(澳大利亚英语)本地化。
虽然当前语言环境是“en_AU”,但[[NSBundle mainBundle] localizations]会生成我期望的本地化集:
( "en-AU", "en" )
Run Code Online (Sandbox Code Playgroud)
然而,[[NSBundle mainBundle] preferredLocalizations](真正重要的)只产生:
( "en" )
Run Code Online (Sandbox Code Playgroud)
为什么首选列表中完全省略了最具体的受支持本地化,而是返回了更通用的本地化?
有没有办法可以NSBundle优先考虑最精确的可用本地化而不是不太具体的选项?
我猜这是因为您的手机设置为使用英语而不是澳大利亚英语。我查看了手机上支持的语言列表,但找不到澳大利亚英语。只是英语和英式英语,所以这可能就是原因。
编辑:
据我了解,这是:
NSLog(@"%@", [[NSLocale currentLocale] localeIdentifier]);
Run Code Online (Sandbox Code Playgroud)
printsen_AU这和 .prints 不一样en-AU。如果您阅读了链接的文档,您已经知道其中的区别。例如,en-GB_AU表示在澳大利亚使用的英式英语,这对于在澳大利亚的英国人来说是合适的。
无论如何,您是否尝试在捆绑包中更改en-AU为?en_AU
| 归档时间: |
|
| 查看次数: |
5197 次 |
| 最近记录: |