iOS本地化图像未显示

时间:2013-11-22 21:11:40

标签: ios objective-c xcode localization

我正在本地化一个应用程序,虽然这个过程看起来很直接(我跟着http://www.raywenderlich.com/2876/localization-tutorial-for-ios对新的Xcode界面进行了微小的调整),并且在没有问题的情况下为字符串工作,我无法显示我的本地化图像。

在Xcode中,我已经有了一组原始语言的图像,并点击了每个图像的“Localize ...”按钮。接受默认选择的“英语”并注意到所有图像都被移动到新的“en.lproj”文件夹中。通过在代码中调用[UIImage imageNamed:@"image1"]来使用所有这些图像。

然后我收集了这些图像的所有本地化的法语版本,并将它们放置在与创建的“en.lproj”Xcode相同级别的文件夹“fr.lproj”中。档案 - >将文件添加到“项目”并将其指向该文件夹。此时,Xcode实际上自动检测到这些是法国本地化文件,当我选择任何这些文件时,右侧栏正确识别它们。项目信息选项卡正确显示每种语言的预期本地化文件数。然而,当我在模拟器中选择使用法语时运行应用程序时,它会显示本地化的法语文本,但会显示英语版本的图像。

我是否遗漏了应该执行的任何步骤,或者应该采取哪些不同的措施?

2 个答案:

答案 0 :(得分:7)

这通常是由于缓存造成的。确保

A)从模拟器中删除应用程序。您还可以在模拟器上“重置内容和设置”,但通常不需要

B)运行Project>清洁

有时也需要

C)运行Project>清理构建文件夹(使用Ctrl键)

D)从项目中删除派生数据。为此,请打开管理器并选择您的项目。有时您甚至必须手动执行此操作,即在finder中导航到该文件夹​​并删除所有文件和文件夹。

通常,这应该这样做。有时一个小技巧也可以快速刷新索引和缓存,特别是预编译的头文件 - 在项目中打开.pch文件,然后“中断”它(例如注释掉一行),这样就无法编译。这将触发标题重新编译。

希望这有帮助。

答案 1 :(得分:0)

this answer

当模拟器设置中有2个(或更多)PREFERRED LANGUAGE ORDER时,图像本地化对我来说不正确。

我是iOS本地化的新手,所以我不知道为什么它会那样工作。 无论如何,尝试仅维护1个PREFERRED LANGUAGE ORDER即可解决问题。