本地化NIB未在XCode4中加载本地化版本的映像

时间:2011-12-21 17:19:23

标签: objective-c localization uiimage xcode4.2 nib

我注意到XCode 4.2中存在一个问题,其中一些本地化的NIB没有从各自的语言包中加载正确的图像。

在我的一个控制器中,我有几个图像视图。在英文版本中,我注意到一些图像视图会抓取应该加载到它们上的图像的法语版本。同样的事情发生在法国版的NIB上。

我显然已经仔细检查了我的图像资源,并验证法语图像是否正确存储在“en.lproj”和“fr.lproj”文件夹中。

之前是否有人遇到此问题?每当我运行项目时,无论是在模拟器还是实际的手机中,最大的问题都在于,图像似乎始终如一。我的控制器中甚至没有手动调用来加载图像。所有图像都是通过NIB预设的。

2 个答案:

答案 0 :(得分:0)

如果在资源包含在构建中之后对资源进行了本地化,则资源的非本地化版本将保留在构建的应用程序中。重建应用程序只会添加新文件并更新已编辑的文件,但不会删除已删除的文件。

要在模拟器中解决该问题,您可以打开管理器(Window&gt; Organizer),选择Projects标签并删除项目的派生数据,然后重建。< / p>

要在您的设备上解决该问题,您可以删除该应用,清理您的构建产品(Product&gt; Clean),然后重建。

答案 1 :(得分:0)

我有同样的问题,我找到的唯一解决方案是删除图像本地化并加载它们。

UIImage *img = [UIImage imageNamed:NSLocalizedString (@"imageOne.png", @"Main Image")];

例如,在您的 Localizble.strings(西班牙语)中,您写道:

"imageOne.png" = "imageOne_es.png";

Localizble.strings(英文)

"imageOne.png" = "imageOne_en.png";