我正在本地化一个应用程序,虽然这个过程看起来很直接(我跟着http://www.raywenderlich.com/2876/localization-tutorial-for-ios对新的Xcode界面进行了微小的调整),并且在没有问题的情况下为字符串工作,我无法显示我的本地化图像。
在Xcode中,我已经有了一组原始语言的图像,并点击了每个图像的“Localize ...”按钮。接受默认选择的“英语”并注意到所有图像都被移动到新的“en.lproj”文件夹中。通过在代码中调用[UIImage imageNamed:@"image1"]
来使用所有这些图像。
然后我收集了这些图像的所有本地化的法语版本,并将它们放置在与创建的“en.lproj”Xcode相同级别的文件夹“fr.lproj”中。档案 - >将文件添加到“项目”并将其指向该文件夹。此时,Xcode实际上自动检测到这些是法国本地化文件,当我选择任何这些文件时,右侧栏正确识别它们。项目信息选项卡正确显示每种语言的预期本地化文件数。然而,当我在模拟器中选择使用法语时运行应用程序时,它会显示本地化的法语文本,但会显示英语版本的图像。
我是否遗漏了应该执行的任何步骤,或者应该采取哪些不同的措施?
答案 0 :(得分:7)
这通常是由于缓存造成的。确保
A)从模拟器中删除应用程序。您还可以在模拟器上“重置内容和设置”,但通常不需要
B)运行Project>清洁
有时也需要
C)运行Project>清理构建文件夹(使用Ctrl键)
D)从项目中删除派生数据。为此,请打开管理器并选择您的项目。有时您甚至必须手动执行此操作,即在finder中导航到该文件夹并删除所有文件和文件夹。
通常,这应该这样做。有时一个小技巧也可以快速刷新索引和缓存,特别是预编译的头文件 - 在项目中打开.pch文件,然后“中断”它(例如注释掉一行),这样就无法编译。这将触发标题重新编译。
希望这有帮助。
答案 1 :(得分:0)
当模拟器设置中有2个(或更多)PREFERRED LANGUAGE ORDER
时,图像本地化对我来说不正确。
我是iOS本地化的新手,所以我不知道为什么它会那样工作。
无论如何,尝试仅维护1个PREFERRED LANGUAGE ORDER
即可解决问题。