我是第一次本地化iPhone应用程序。我已将所有字符串放入Localizable.strings
文件中,并通过我的代码中的NSLocalizedString
访问它们。工作良好。
接下来,我有一个名为info.html
的文件,其中包含我用作关于框的UIWebView
的内容。我把它放在语言文件夹(en.lproj
和de.lproj
)中,并将它们添加到我的Xcode资源中。
现在,在Simulator中,字符串和html文件都以适当的语言显示。
但是,在设备上,当html文件保持未翻译时,字符串显示为本地化。
这是Simulator和Device之间奇怪的不一致!有人知道解决方法吗? (......除了违反本地化系统,并使用NSLocalizedString
手动调用de_info.html
,en_info.html
等。)
答案 0 :(得分:7)
首先尝试删除该应用。
当您使用Xcode部署到设备(或模拟器)时,仅添加资源,而不是删除资源
现在很可能你有三个html文件。一个位于de
文件夹中,一个位于en
文件夹中,另一个位于根文件夹中。
如果它在那里iOS更喜欢根文件夹中的那个。
作为一般规则:当你从项目中删除(或者就像在这种情况下移动它们)资源时,你应该从设备或模拟器中删除应用程序。
答案 1 :(得分:4)
另外一个补充:我还需要从我当前的构建目录中删除该应用程序才能使其正常工作(否则,设备上已删除的应用程序会再次被错误的版本替换)。
在XCode中,您可以在“Build”菜单中按“alt”键,然后您可以选择清除整个构建目录。
这终于为我解决了这个问题。叹息...