对于是否在iOS捆绑包中包含本地化资源和全局资源这些看似矛盾的说明我感到很困惑。在“捆绑编程指南”的“捆绑结构”部分中,它指出(强调重点):
iOS应用程序应该是国际化的,并且为它支持的每种语言都有一个language.lproj文件夹。除了提供应用程序自定义资源的本地化版本之外,您还可以通过在特定于语言的项目目录中放置具有相同名称的文件来本地化您的启动映像。 但是,即使您提供本地化版本,也应始终在应用程序包的顶层包含这些文件的默认版本。默认版本用于特定本地化不可用的情况。
这使我相信我应该拥有那些未针对给定语言和/或区域进行本地化的资源的全局资源。但是,在相同的编程指南以及Bundle
Foundation文档中,它指出:
由于全局资源优先于特定于语言的资源,您绝不应在应用中同时包含给定资源的全局和本地化版本。存在资源的全局版本时,永远不会返回特定于语言的版本。这种优先权的原因是性能。如果首先搜索本地化资源,则bundle对象可能会浪费时间在返回全局资源之前搜索不存在的本地化资源。
这些陈述似乎直接相互矛盾。有人可以解释我在这里缺少的东西吗?