我对特定文件都有“en”和“en-AU”(澳大利亚英语)本地化。
当前的语言环境是“en_AU”,[[NSBundle mainBundle] localizations]
会生成我期望的本地化集:
( "en-AU", "en" )
然而,[[NSBundle mainBundle] preferredLocalizations]
(实际上重要的那个)仅产生:
( "en" )
为什么最具体支持的本地化完全从首选列表中省略,而是返回更通用的本地化?
我是否有办法让NSBundle
优先考虑最不精确的可用本地化,而不是特定的选项?
答案 0 :(得分:0)
我想这是因为您的手机设置为使用英语而非澳大利亚英语。我查看了手机上支持的语言列表,但找不到澳大利亚英语。只是英语和英国英语,所以这可能就是原因。
修改强>
据我了解,这:
NSLog(@"%@", [[NSLocale currentLocale] localeIdentifier]);
打印en_AU
,这与en-AU
不同。如果您已阅读链接文档,则您已经知道其中的差异。例如en-GB_AU
表示在澳大利亚使用的英国英语,适合澳大利亚的英国人。
无论如何,您是否尝试将en-AU
更改为捆绑中的en_AU
?