Localization 在iPhone OS 4.0上运行,我的应用程序不再加载本地化资源

Localization 在iPhone OS 4.0上运行,我的应用程序不再加载本地化资源,localization,ios4,Localization,Ios4,我有一个OS3.0应用程序。它是中文本地化的(除了基本的英文支持) 它在所有使用OS 3.0、3.1.x的设备上都能完美运行,甚至在使用3.2的iPad上也是如此。也就是说,当我在系统设置中选择中文时,应用程序将显示使用中文的资源。本地化在应用程序本身、设置包和主屏幕中的应用程序名称中起作用。(当然,如果系统设置为英语,我的应用程序将显示英语资源) 但是,在3GS+OS4.0上运行时,无论我在系统设置中选择何种语言,它都会显示英语资源。应用程序本身总是显示英文,设置包是英文的,主屏幕中的应用程序

我有一个OS3.0应用程序。它是中文本地化的(除了基本的英文支持)

它在所有使用OS 3.0、3.1.x的设备上都能完美运行,甚至在使用3.2的iPad上也是如此。也就是说,当我在系统设置中选择中文时,应用程序将显示使用中文的资源。本地化在应用程序本身、设置包和主屏幕中的应用程序名称中起作用。(当然,如果系统设置为英语,我的应用程序将显示英语资源)

但是,在3GS+OS4.0上运行时,无论我在系统设置中选择何种语言,它都会显示英语资源。应用程序本身总是显示英文,设置包是英文的,主屏幕中的应用程序名称也显示英文版本

我尝试了很多事情,比如重新启动设备、重新安装应用程序、在info.plist中添加CbundleLocalizations等。没有帮助

我做错了什么,可能导致OS4.0上的本地化失败(尽管在3.x上仍然有效)

以下是我的本地化文件夹结构,我认为这是非常正常的:

+---en.lproj
|       InfoPlist.strings
|       Localizable.strings
|
\---zh.lproj
        InfoPlist.strings
        Localizable.strings

提前感谢您的建议。

尝试将其重命名为
zh_CN.lproj
(或
zh_TW.lproj
)。那有用吗?谢谢你,肯尼。它实际上是通过添加_CN/_TW后缀来工作的。所以现在我可以解决这个问题。然而,我找不到任何苹果文档提到这一变化。在3.0中,“zh”单独起作用,CN和TW用户将看到相同的中文资源集。但是在4.0中,我们必须添加区域ID?根据apple doc的说法,iPhone操作系统应该只查看语言id-only lproj,比如zh.lproj。看见