1

我们计划使用 Xliff 作为我们跨平台应用程序的通用格式(后端使用 PHP,移动设备使用 Android)。这些 Xliff 文件没有任何“真正的”源文件可以从中提取字符串,而是随着开发的进行而手工制作。

自然 Xliff 需要被目标平台转换/读取。对于 Android,我认为最好将源 Xliff 文件转换为 Android String 资源文件,而对于 PHP,我也会这样做,即目标输出将是原始 PHP 数组,或者使用Zend_Translate_Xliff之类的东西之类的东西。

现在还有两件事没有解决:

  1. 是否有任何现有工具可以将现有 Xliff 文件合并到另一个 Xliff 文件中,类似于msgmergegettext 的功能?这里的基本原理是,如果我们有 X 翻译并且将新字符串添加到源语言中,我们不想使用该新字符串更新 X 目标翻译文件。

  2. 是否有已经从 Xliff 转换为 Android XML 的现有转换器/XSLT 脚本(充其量是自动化的,对于 CI)?

提前致谢。

4

1 回答 1

1

似乎有一个项目translate-toolkit - 它基本上是一组 Python 命令行实用程序 - 可以完成部分工作。

合并 xliff 文件的工作方式如下:

 pretranslate -t translation.xml source.xml translation-merged.xml

虽然我还没有测试它实际上如何处理删除/更改的字符串。至少现有trans-unit的 intranslation.xml必须带有一个approved="yes"属性,以便这些特定的单元不会在 中标记为“需要翻译” translation-merged.xml

从理论上讲,translate-toolkit 也带有一些 PHP 支持,但我偶然发现了与这里提到的相同的问题,即没有让它工作。

于 2014-05-02T10:40:51.273 回答