【问题标题】:Automating Localizable.strings?自动化 Localizable.strings?
【发布时间】:2012-06-13 09:43:40
【问题描述】:

所以,在我的项目中,我有 10 种语言和 10 个 Localizable.strings 文件。 我刚刚创建了 Localizable.strings 文件,每种语言的文件。现在它们包含 "key" = "value" 对,并且键和值都是英文(默认语言)。

我的语言都已翻译并保留在 Excel 文件中。

问题是,与手动复制每个单词或为此编写脚本相比,如何才能更快地将所有语言插入这些文件? 也许已经有一个现有的工具来解决这个问题? 谢谢。

【问题讨论】:

  • 写一个脚本为你做这件事;)。如果您将 excel 文件复制到普通文本编辑器中,它将为您提供 TSV 文件(制表符分隔值)。只要你的字符串不包含任何选项卡,用 python 或 ruby​​ 或任何你喜欢的东西解析都是小菜一碟。
  • 有一天我要去学python...:/

标签: iphone ios localization internationalization automation


【解决方案1】:

我找到了一种从 Excel 文档中组合 localizable.strings 文件的简单方法。

在 Excel 文档的特定列中,我插入“”=“”符号。通过从角落向下拖动 Excel 单元格,可以轻松地完成所有单词,以便将内容从该单元格复制到您将其拖动到的所有单元格中。 (抱歉解释混乱)

因此,该文档包含与 localizable.strings 相同的符号和单词。 我只是将所有内容复制到文本文件,删除标签,将扩展名更改为 .strings。 (遗憾的是没有保存 cmets)。

编辑: 您可以将 Excel 中的内容复制到 Sublime Text,然后查找和替换选项卡(如果有)。将生成的内容复制到正确的 Xcode .string 文件中。

【讨论】:

  • 以下是我遵循的步骤:#1 在 windows 上将 .strings 的扩展名更改为 .txt
  • 这里是一个excel宏的例子:=CONCATENATE(A87;" = ";CHAR(34);B87;CHAR(34);CHAR(59))
【解决方案2】:

Localization Suite 是一款通过自动化和简化本地化过程真正为您节省大量时间的应用程序。我不知道他们是否支持从 excel 导入(以节省您传输字符串对的时间),但它是免费的,似乎是一个完整的解决方案。

【讨论】:

    【解决方案3】:

    我有一个用于在 iOS 和 Android 中执行这些任务的内部脚本,我刚刚将它作为 Gem 开源。你可以在这里看看:http://github.com/mrmans0n/localio

    它也可以根据要求从 Google Drive 和本地 Excel 文件中打开电子表格。

    你只需要安装 gem

    gem install localio
    

    并且在您的项目目录中有一个名为 Locfile 的自定义 DSL 文件,其中包含引用您的项目和本地化文件的信息。在您的情况下,使用 Excel 文件的示例可能很简单:

    platform :ios
    source :xls, :path => 'YourExcelFileGoesInHere.xls'
    output_path 'Resources/Localizables/'
    

    .xls 文件应该具有某种格式,这可能与您现在所拥有的非常相似。你只需要克隆这个内容并用你的翻译填充它:https://docs.google.com/spreadsheet/ccc?key=0AmX_w4-5HkOgdFFoZ19iSUlRSERnQTJ4NVZiblo2UXc

    希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      这是我遵循的步骤:

      1. 在 Windows 上将 .strings 的扩展名更改为 .txt
      2. 打开 excel 并转到文件 > 打开
      3. 选择要打开的文件。这应该会显示一个导入向导
      4. 按照步骤操作,将分隔符指定为 =

      你已经完成了

      【讨论】:

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