3

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

但是当我编译时发生了一件奇怪的事情,只有一半甚至更少的字符串被翻译。我已经尽我所能:

  • 重新创建我的字符串文件,
  • 换钥匙,

甚至将工作字符串和键放在不工作的字符串中,但没有任何工作。

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

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

//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";
4

5 回答 5

1

进行另一次检查,例如反转元素的顺序:尝试将无法翻译的字符串放在顶部。然后作为概念验证尝试使用非 utf-8 字符制作第三个本地化文件(如没有多余装饰的纯文本)

于 2012-02-23T10:59:57.780 回答
1

我的问题的解决方案是从模拟器中删除应用程序并重新构建,如 holographix 所述。谢谢holographix :)

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

于 2012-02-28T13:25:09.253 回答
1

带着 Xcode 7 回来了。还有一个技巧。

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

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

于 2016-06-30T06:47:38.557 回答
0

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

于 2016-08-15T08:07:50.753 回答
0

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

于 2020-10-28T09:56:00.600 回答