自动化Localizable.strings?

时间:2012-06-13 09:43:41

标签: iphone ios localization internationalization automation

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

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

问题是,如何更快地在这些文件中插入我的所有语言,而不仅仅是手动复制每个单词或为此编写脚本? 也许现在有一个现有的工具? 感谢。

4 个答案:

答案 0 :(得分:8)

我找到了一种从Excel文档中编写localizable.strings文件的简便方法。

在Excel文档中,在特定列中插入" " =" "符号。通过从角落拖动Excel单元格可以轻松地对所有单词执行操作,以便将该单元格中的内容复制到您将其拖动到的所有单元格。 (对不起凌乱的解释)

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

编辑: 您可以将这些内容从Excel复制到Sublime Text,然后查找&如果有替换标签。将结果复制到正确的Xcode .string文件中。

答案 1 :(得分:3)

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

答案 2 :(得分:2)

我有一个内部脚本可以在iOS和Android中执行这些任务,我只是将它作为Gem开源。您可以在此处查看:http://github.com/mrmans0n/localio

它可以按照要求从Google云端硬盘和本地Excel文件中打开电子表格。

你只需要安装宝石

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

希望这有帮助。

答案 3 :(得分:1)

以下是我遵循的步骤:

  1. 将.strings的扩展名更改为Windows上的.txt
  2. 打开excel并转到文件>打开
  3. 选择要打开的文件。这应该是一个导入向导
  4. 按照步骤操作并将分隔符指定为=
  5. 你已经完成了