iOS多语言适用于模拟器,但不适用于设备

时间:2011-09-02 04:12:45

标签: iphone objective-c ios xcode ipad

我有一个双语iOS通用应用。它在模拟器中工作正常,当我在设置中更改语言时,应用程序加载相应的语言资源(图像,文本)。

但是,当涉及到设备时,它不起作用,它仍然是默认语言(英语),并且设置的更改不会生效。

我没有线索,因为我认为我在编码方面没有做错任何事。有没有我错过的设置东西?

感谢。

更新:我发现Localizable.strings中的文本可以加载正确的语言,但是,相应的本地化文件夹下的Images资源,可以加载本地化的nib文件,但无法成功加载所有相应的图像文件

2 个答案:

答案 0 :(得分:1)

你使用NSLocalizedString,......? 你改变了语言还是仅改变了地区?

您可以通过打印区域设置标识符

来查看使用的语言
NSLog(@"%@", [[NSLocale currentLocale] localeIdentifier]);

答案 1 :(得分:1)

好的,我不知道这是Xcode的错误还是什么。

图像文件不会在设备上刷新(它在模拟器上完成),我做的工作是:

  1. 备份Xcode中的资源文件夹
  2. 删除Xcode中资源文件夹下的所有内容
  3. 将所有内容重新拖到Xcode
  4. 清洁
  5. 构建
  6. 设备上的应用现在可以加载正确的资源。