没有重新启动应用程序就无法加载本地化

时间:2014-11-24 09:38:22

标签: objective-c ios7 localization

我正在尝试从应用内更改应用语言。 我能够实现这一点,并根据更改的本地化更改文本,但直到我重新启动我的应用程序才会加载本地化的图像。

1)本地化图像放在en.lproj和vi.lproj文件夹中。

2)图像以表格形式显示,语言更改后重新加载表格视图。

仍未提取本地化图像。

我尝试打印的日志>>

NSBundle / Users / admin / Library / Application Support / iPhone Simulator / 7.0 / Applications / 863CF1CB-C9C5-4257-8D6E-DA104C8EC849 / test.app / en.lproj(尚未加载)

NSBundle / Users / admin / Library / Application Support / iPhone Simulator / 7.0 / Applications / 863CF1CB-C9C5-4257-8D6E-DA104C8EC849 / test.app / vi.lproj(尚未加载)

感谢。

2 个答案:

答案 0 :(得分:2)

有一个简单的解决方法

根据语言使用不同名称的不同图像,并根据从代码中选择的语言加载图像。

e.g。 在tableView中的cellForRowAtIndexPath方法

if(language = english) {
imageName = @"logo_english";

}

else if (language = french) {
imageName = @"logo_french";
}

否则使用苹果原生本地化的图像,这些图像会在应用重启后生效。

答案 1 :(得分:1)

您是如何加载图片的?如果要覆盖为系统选择的语言,可以使用-[NSBundle pathForResource:ofType:inDirectory:forLocalization:]指定在获取资源时要使用的本地化。