Xcode本地化:所有字符串都不会被翻译

时间:2012-02-23 10:53:53

标签: xcode localization localizable.strings

我有一个我想要本地化的iPhone应用程序,所以我添加了中文本地化。为此,我将Localizable.strings(中文)添加到我的应用程序中,并在其中添加了字符串。

但是编译时会发生奇怪的事情,只有一半或甚至更少的字符串被翻译。我已尽力而为:

  • 重新创建我的字符串文件,
  • 更改密钥,

甚至把工作字符串和&非工作字符串中的键,但没有任何工作。

我的所有元素都是UILabel,我已经检查了每个元素的每个配置。它们都具有相同的配置。可能是因为项目配置,但为什么有些工作呢?我检查了一些其他答案并尝试了解决方案(检查我的密钥,文件名等),但没有任何工作。请帮助我理解为什么会这样。

编辑: 这是我打印字符串的方式

//this one doesn't work
self.resolution.text = NSLocalizedString(@"RESOLUTION", nil);
//this one works
self.label1.text=NSLocalizedString(@"CAMERAS", nil);

在我的Localizable.strings文件中,我有

"RESOLUTION"="Resolution";
"CAMERAS"="Cameras";

5 个答案:

答案 0 :(得分:1)

我的问题的解决方法是从模拟器中删除app并按照holographix的说明再次构建。感谢holographix:)

我仍然不明白的是,我多次尝试这个程序并且它没有工作,然后就像它决定开始工作一样。即使我的问题得到解决,它对我来说仍然是一个谜。

答案 1 :(得分:0)

进行另一次检查,就像反转元素的顺序一样:尝试将字符串的顶部放在不能解释的字符串上。然后作为概念证明尝试使用非utf-8字符制作第三个本地化文件(如纯文本,没有多余的装饰)

答案 2 :(得分:0)

回到Xcode 7.还有一个技巧。

我遇到了同样的问题,但上述解决方案都没有奏效(我不是说它在其他情况下无效)。

解决方案是我在一个定义的末尾有一个双; (可能是由于某些剪切,复制,粘贴操作)。没有编译错误或警告。我只是删除了多余的;那又有效了。

答案 3 :(得分:0)

我有类似的问题。就我而言,这是因为在从Google翻译中复制翻译后,* .strings文件中的语音标记是不同的字符代码。 重新输入语音标记可以修复它。

答案 4 :(得分:0)

将您的.strings文件名更改为Localizable.strings,对我有用。