【问题标题】:Localizable.strings woesLocalizable.strings 问题
【发布时间】:2010-10-25 20:05:54
【问题描述】:

我的 Localizable.strings 文件不知何故损坏了,我不知道如何恢复它。

如果我将它作为纯文本文件打开,它会以我无法在此处复制的奇怪字符开头。

如果我将文件保留为应用程序构建。如果我进行任何更改,要么没有正确解释这些值,要么在编译时出现错误。

Localizable.strings: Conversion of string failed. The string is empty.
Command /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings failed with exit code 1

我怀疑这是一个编码问题,但我不知道它是怎么发生的(也许是 SVN 的问题?)也不知道如何解决它。任何提示将不胜感激。

【问题讨论】:

    标签: iphone svn encoding ios localizable.strings


    【解决方案1】:

    我对听起来与您自己的文件非常相似的同一个文件有疑问。发生在我身上的是 Xcode 不知道正确的文件格式。我经常在重新安排项目时遇到这个问题,我删除了这个文件并将其重新添加到 Xcode 项目中。当我重新添加文件时,它的编码被设置为类似西罗马的东西,它似乎不能呈现除 ASCII 以外的任何东西。

    这是我解决问题的方法:

    • 在 Xcode 的 Groups&Files 面板中选择 Localizable.stings 文件。

    • 获取该文件的信息。

    • 在信息面板上选择“常规”选项卡。

    • 在该选项卡中,转到文件编码并更改其值。

    最后一步是诀窍所在,因为您现在必须猜测正确的编码。我发现对于大多数欧洲语言来说,“Unicode (UTF-8)”是有效的。对于亚洲语言,我发现“Unicode (UTF-16/32)”是可以尝试的。

    【讨论】:

    • 记得做一个Product>Clean
    【解决方案2】:

    我刚刚遇到了这个错误,因为我忘记了分号。我花了一段时间才弄清楚。似乎是一个非常模糊的编译器错误,但修复很简单。

    【讨论】:

      【解决方案3】:

      确保在 File-Get Info 中选择了 UTF-16。如果它设置为 none 或 UTF-8 作为编码,那么您需要更改它。如果您的字符之间有空格,那么您选择将文件“重新解释”为 UTF-16。如果文件中有奇怪的字符,则需要删除它们。

      【讨论】:

        【解决方案4】:

        执行UTF-8的问题,有时候还是要检查内容,以防出现语法问题。

        使用下面的正则表达式逐行验证你的文本,如果有不匹配的行,一定有问题。

        "(.+?)"="(.+?)";

        【讨论】:

        • 除了像 // 和 /* 这样的 cmets
        【解决方案5】:

        您可以使用plutil 命令行工具。如果没有选项或使用 -lint 选项,它会检查作为参数给出的文件的语法。它会更准确地告诉您错误在哪里。

        【讨论】:

          【解决方案6】:

          当缺少引号或文件不正确时,我会发生这种情况。最常见的是,由于我的语言文件是由另一个团队成员完成的,他往往会忘记引用或其他内容。通常 XCode 会在该行显示错误,有时它不会并且只是抛出“损坏的数据”错误。

          仔细检查所有字符串是否正确地用引号括起来

          【讨论】:

            【解决方案7】:

            在 Xcode 中打开文件。

            在项目导航器中右键单击它。

            选择打开方式->ASCII 属性列表

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2012-04-28
              • 1970-01-01
              • 1970-01-01
              • 2013-09-11
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多