NSLocalization on xCode 4.5 and iOS 6



有没有办法像在旧版iOS5中一样,在iOS6的xCode 4.5中使用带有NSLocalizedString(@"KEY",@")的Localizable.strings?

这是我的示例代码:

在 Localizable.string 中
"钥匙" = "你好世界!

在 .m 脚本中
NSString *tempString = NSLocalizedString(@"KEY", NULL);
NSLog(@"My String is: %@", tempString);

iOS5.1 的日志是:"我的字符串是:Hello World!
iOS6 的日志是:"我的字符串是:KEY"

...我真的要疯了!我的错误在哪里?多谢!!!

他们不需要创建新项目并复制,只需删除可本地化的文件,再次创建它,你就会没事的。

我当前应用程序中的本地化字符串在 iO6 中仍然有效。我通常只使用 NSLocalizedString(@"KEY", NULL);您确定您的 5.1 可以正常工作吗?

查看帖子的答案:添加其他本地化时,IOS 字符串本地化停止工作

它对我有用。干净构建+从模拟器(或手机)中删除修复错误。

我找到的唯一解决方案是:

  1. 从 xCode 模板使用新项目重新启动
  2. 启用至少 2 种语言的本地化
  3. 从损坏的项目拖入所有旧文件
  4. 将旧故事板的争执复制到新故事板中
  5. 经常做快照,以备不时
  6. 之需

我真的不知道问题出在哪里,但现在一切又像往常一样正常。

更改模拟器的语言设置。

我的一个字符串文件中的一行末尾缺少一个分号。即使我在再次构建项目时清理了项目,编译器也没有报告它。重新启动XCode后首先报告了错误,我可以找到它并修复它。

最新更新