2011-03-10 48 views
3

我第一次本地化iPhone应用程序。我已将所有字符串放入Localizable.strings文件中,并通过我的代码中的NSLocalizedString访问它们。工作正常。 接下来,我有一个名为info.html的文件,其中包含我用作About框的UIWebView的肉。我已将它放在语言文件夹(en.lprojde.lproj)中,并将它们添加到我的Xcode资源中。 现在,在模拟器中,字符串和html文件都以适当的语言显示。 但是,在设备上,字符串出现本地化,而html文件仍未翻译。iOS本地化不一致

这是模拟器和设备之间奇怪的不一致!任何人都知道解决方法? (...除了违抗本地化系统,并且使用NSLocalizedString手动呼叫de_info.html,en_info.html等。)

回答

7

尝试先删除应用程序。

当您使用Xcode部署到设备(或模拟器)时,只会添加资源,不会删除。
最有可能你现在有三个html文件。一个在de文件夹中,一个在en文件夹中,另一个在根文件夹中。

如果有的话,iOS更喜欢根文件夹中的那个。

作为一般规则:当您从项目中删除(或在此情况下移动它们)资源时,应该从设备或模拟器中删除应用程序。

+1

Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah。 (通常在盯着宜家安装说明半小时后发出声音。)非常感谢。 – 2011-03-11 17:19:22

4

另一个补充:我还需要从我当前的构建目录中删除应用程序,以使其工作(否则,设备上删除的应用程序将被替换为错误的版本)。

在XCode中,您可以按下'Build'菜单中的'alt'键,然后您可以选择清除整个构建目录。

终于为我解决了这个问题。叹息...

+0

提及“Clean Build Folder”选项。我遇到了同样的问题,并且在删除XIB本地化后,一个简单的“Clean”+从模拟器中删除应用程序似乎没有解决问题。这解决了我的问题。 – ig2r 2012-03-13 13:13:52