我不知道我是否真的理解了info.plist文件中“Localization native development region”条目的功能。
在某处我读到此条目允许在与语言资源目录不匹配时指定应用程序语言。
我的应用程序本地化为三种语言:英语,意大利语和西班牙语(en.lproj,it.lproj和es.lproj),我将“Localization native development region”条目设置为意大利语。当我在“设置”中更改语言和语言环境时(例如通过选择阿拉伯语和适当的区域),应用程序语言是英语。我不应该是意大利语,因为我在info.plist中将“本地化本地开发区域”设置为意大利?
有什么想法吗?它可以绑定到AppStore应用程序描述语言吗?
答案 0 :(得分:16)
来自CFBundle文档:
kCFBundleDevelopmentRegionKey 捆绑包的开发语言的名称。 当CFBundle查找资源时,后备是查看名称由Info.plist文件中的kCFBundleDevelopmentRegionKey给出的lproj。因此,您必须确保包中包含具有包含每个本地化资源副本的确切名称的lproj,否则CFBundle无法保证回退机制将起作用。 适用于iOS 2.0及更高版本。 在CFBundle.h中声明。
与AppStore描述语言无关。
答案 1 :(得分:5)
我使用以下设置解决了这个问题。
答案 2 :(得分:2)
原生开发区域还设置VoiceOver所说的默认语言。如果您正确设置,则不必覆盖应用中使用的所有默认组件中的辅助功能语言(可回溯为英语)。