Xcode iOS本地化不一致
我第一次本地化了一个iPhone应用程序。我已将所有字符串放入一个Xcode iOS本地化不一致,xcode,ios,localization,Xcode,Ios,Localization,我第一次本地化了一个iPhone应用程序。我已将所有字符串放入一个可本地化的.strings文件中,从代码中通过NSLocalizedString访问它们。很好。 接下来,我有一个名为info.html的文件,其中包含UIWebView的内容,我将其用作“关于”框。我把它放在语言文件夹中(en.lproj和de.lproj),并将它们添加到Xcode中的资源中。 现在,在模拟器中,字符串和html文件都以适当的语言显示。 但是,在设备上,字符串显示为本地化,而html文件保持未翻译状态 这是一个
可本地化的.strings
文件中,从代码中通过NSLocalizedString
访问它们。很好。
接下来,我有一个名为info.html
的文件,其中包含UIWebView
的内容,我将其用作“关于”框。我把它放在语言文件夹中(en.lproj
和de.lproj
),并将它们添加到Xcode中的资源中。
现在,在模拟器中,字符串和html文件都以适当的语言显示。
但是,在设备上,字符串显示为本地化,而html文件保持未翻译状态
这是一个奇怪的模拟器和设备之间的不一致!有人知道解决办法吗?(…除了无视本地化系统,并使用
NSLocalizedString
手动调用de_info.html
,en_info.html
等。)首先尝试删除应用程序
使用Xcode部署到设备(或模拟器)时,只会添加资源,而不会删除资源。很可能现在您有三个html文件。一个在
de
文件夹中,一个在en
文件夹中,一个在根文件夹中
如果有,iOS更喜欢根文件夹中的那个
作为一般规则:当您从项目中删除(或者像在本例中那样移动)资源时,您应该从设备或模拟器中删除应用程序 另一个补充:我还需要从当前构建目录中删除该应用程序,以使其正常工作(否则,设备上已删除的应用程序将再次被错误的版本替换) 在XCode中,您可以按“Build”菜单中的“alt”键,然后可以选择清理整个构建目录
这最终解决了我的问题。唉…aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa。(声音通常在观看宜家的安装说明半小时后发出。)非常感谢。+1提及“清洁构建文件夹”选项。我遇到了同样的问题,在删除XIB本地化后,简单的“清除”+从模拟器中删除应用程序似乎无法解决问题。这为我解决了问题。