xCode 4.5和iOS 6上的NSLocalization

问题描述:

有没有什么办法在iOS6的xCode 4.5中使用Localizable.strings和NSLocalizedString(@“KEY”,@“”)?

这里是我的示例代码:

在Localizable.strings
“KEY”=; “世界,你好!”

在.M脚本
的NSString * tempString = NSLocalizedString(@ “KEY”,NULL); (@“我的字符串是:%@”,tempString);

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

......我真的要变得疯狂!我的错误在哪里? 非常感谢!xCode 4.5和iOS 6上的NSLocalization

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

+0

我现在在iOS6和iOS5.1中重试(在5.1中工作,在iOS6中失败)。 这里是我的示例代码: In Localizable.strings “KEY”=“Hello World!”; In。m脚本 NSString * tempString = NSLocalizedString(@“KEY”,NULL); NSLog(@“My String is:%@”,tempString); iOS5.1的日志是: 我的字符串是:Hello World! iOS6的日志是: 我的字符串是:KEY ......我真的会变得疯狂!我的错误在哪里? 非常感谢! – dman

我发现的唯一的解决办法是:

  1. 重启与Xcode的模板创建新项目
  2. 使本地化至少2种语言中的所有旧文件
  3. 拖动从损坏的项目
  4. 将旧故事板的内容复制到新内容
  5. 只是在必要的情况下才会频繁拍摄快照

我真的不知道问题出在哪里,但现在所有的工作都照常进行。

更改模拟器的语言设置。

他们没有必要创建一个新的项目和复制,只需删除可本地化的文件,再次创建它,你会没事的。

+0

@dman你可以把它作为答案。它的工作对我来说很好。 –

看答案后:IOS String Localization stops working when adding additional localization

这对我的作品。清理build +从模拟器(或手机)中删除修复错误。

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