【问题标题】:Xcode localization: All strings are not translatedXcode 本地化:所有字符串均未翻译
【发布时间】:2012-02-23 10:53:52
【问题描述】:

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

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

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

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

我所有的元素都是 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";

【问题讨论】:

  • 它必须工作,对我来说看起来很干净。尝试从模拟器中删除应用程序,使构建干净,然后再次运行。
  • @holographix 我刚刚重置了我的模拟器,现在我无法编译我的应用程序。 :s。得到一个“SIGABRT”,我想我现在会解决这个问题。
  • @holographix 又回来了。不,它仍然不起作用。

标签: xcode localization localizable.strings


【解决方案1】:

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

【讨论】:

  • 已经尝试改变字符串的顺序。让我们试试你的解决方案的第二部分。
  • 这可能是与文件的 utf-8 特性有关的问题。
  • 我尝试添加西班牙语本地化。相同的字符串被翻译,其他的不是:s。
  • 我不明白为什么其中一些有效?我完全没有想法。
  • fail :( 这很尴尬,这个问题从来没有发生在我身上。我用 5 种语言制作应用程序 :-o
【解决方案2】:

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

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

【讨论】:

  • 这对我有用,但我仍然不希望它在应用商店中复制。
【解决方案3】:

回归 Xcode 7。还有一个技巧。

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

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多