【问题标题】:Xcode Localization UpdateXcode 本地化更新
【发布时间】:2018-11-06 17:25:07
【问题描述】:

所以我在 Xcode 中使用 Use Base Internationalization 本地化了一个故事板。

我进去翻译了字符串文件中的所有字符串。耶。这花了很长时间。

现在我在故事板的基本文件中添加了一个新元素。它里面有一个标签,里面有一个我需要国际化的字符串。我保存了它,构建了它,等等。但是在我漂亮的字符串文件中找不到这个新元素。

请不要告诉我现在必须手动添加所有元素?

【问题讨论】:

    标签: iphone objective-c ios xcode localization


    【解决方案1】:

    在 IB 的检查器中手动查找对象 ID(在类部分下)。 自己手动编写这些新元素。

    【讨论】:

    • 更聪明的做法是,创建项目不需要的新本地化语言,然后复制新元素粘贴到旧语言文件中,然后将其删除。
    【解决方案2】:

    我这样解决了这个问题。

    1. 一一取消选中本地化实用程序面板的复选框。

    2. Xcode 会问,你想删除 Main.storyboard 的英文(语言)本地化吗?

    3. 对话框中还有一个复选框,不要勾选

    4. 点击删除。

    5. 再次选择您的故事板,并重新检查每种语言

    6. Xcode 会说文件已经存在

    7. 选择替换文件

    8. Xcode 会自动从您更新的 UI 中重新生成字符串文件并替换您的文件。

    祝你好运。

    【讨论】:

      【解决方案3】:

      我发现在单独的电子表格中跟踪所有字符串更容易,然后从那里自动为每种语言生成 .strings 文件。

      您仍然需要在 2 个位置(在 xcode 和电子表格中)跟踪翻译键,但至少您不必在每次要添加时编辑或合并所有 Localizable.strings 文件一些字符串。

      在此处查看带有 VBA 宏的 Excel 电子表格示例: http://members.home.nl/bas.de.reuver/files/multilanguage.zip

      【讨论】:

      • 是的,同意。这也是我们工作的一部分。
      【解决方案4】:

      在等待 Xcode 6 和他的新 localization features(我希望能解决这个 l10n 更新的痛点)的同时,我们理论上可以自动化这些步骤(从未尝试过)

      这个gist script(不容易发音:)似乎也很有用(再次尚未测试)

      【讨论】:

        【解决方案5】:

        Xcode release notes 说:

        使用来自用户的新内容重新同步您的字符串文件 接口文件,使用 --generate-stings-file 选项 ibtool 命令生成新的字符串文件。然后手动合并 将新文件添加到您现有的本地化字符串中。

        这很蹩脚,但你去吧。您可以使用 FileMerge 之类的工具来帮助您解决差异。 (我们有一组脚本可以读取字符串文件并以这种方式合并它们;编写这样的东西并不难。)

        【讨论】:

        • 这简直是蹩脚。是时候做一些严肃的定制软件了......给我几天时间 - 优雅地做到这一点并不难。
        【解决方案6】:

        我找到了另一种蹩脚的解决方案,但它不如 Xcode 发行说明中的​​方案那么蹩脚;勾选本地化语言关闭,从磁盘中删除文件,然后再次勾选。这将重新创建 .strings 文件。

        【讨论】:

        • 我也这样做。但请注意,这仍然需要开发人员手动合并前一个文件和当前文件。
        • 是的,但这可以通过合并软件和 Git 修订版轻松完成。还是跛脚。
        【解决方案7】:

        您也可以考虑将翻译保存在一个干净的 XML 文件中,并让这个 Maven 插件在每次构建期间生成您的字符串文件:https://github.com/hoereth/i18n-maven-plugin

        【讨论】:

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