xCode 4.5和iOS 6上的NSLocalization

4
有没有办法在xCode 4.5中为iOS6使用Localizable.strings和NSLocalizedString(@"KEY", @""),就像在旧的iOS5中一样?
以下是我的示例代码:
在Localizable.strings文件中 "KEY" = "你好,世界!"; 在.m脚本中 NSString *tempString = NSLocalizedString(@"KEY", NULL); NSLog(@"My String is: %@", tempString);
iOS5.1的日志输出为:"My String is: 你好,世界!" iOS6的日志输出为:"My String is: KEY" 我真的快要疯了!我的错误在哪里?
非常感谢!!!
6个回答

4
不必创建新项目和复制文件,只需删除本地化文件,重新创建即可。

@dman,你能否把它设为答案?对我来说它很有效。 - Naveen Shan

1

1

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


我现在在iOS6和iOS5.1上重试(在5.1中它可以工作,在iOS6中失败)。 这是我的示例代码:在Localizable.strings中 "KEY" = "你好,世界!";在.m脚本中 NSString *tempString = NSLocalizedString(@"KEY", NULL); NSLog(@"我的字符串是:%@", tempString);iOS5.1的日志是: 我的字符串是:你好,世界!iOS6的日志是: 我的字符串是:KEY...我真的要疯了!我的错误在哪里? 非常感谢!!! - ndman

0

更改模拟器的语言设置。


0
我找到的唯一解决方案是:
  1. 使用 xCode 模板重新启动一个新项目
  2. 至少为两种语言启用本地化
  3. 从受损项目中拖入所有旧文件
  4. 将旧storyboard的内容复制到新storyboard中
  5. 经常进行快照以防必要时使用

我真的不知道问题出在哪里,但现在所有的工作都恢复正常了。


0
我在一个字符串文件的末尾缺少了分号。即使我清理了项目并重新构建,编译器也没有报告它。只有在重新启动XCode后,错误才被报告,我才能找到并修复它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接