XLIFF到PO转换保留了什么,或者如何避免这种转换?

时间:2014-08-20 07:53:35

标签: po xliff

XLIFF有trans-unit' idresname。对于POT / PO文件,msgid是要翻译的文本本身,如果我理解正确的话,意味着POT / PO文件可以区分不同上下文中词汇相同的源文本(“blah” “在”foo“的背景下,在”bar“的背景下将被视为与”blah“相同。 XLIFF可以区分两者,每个都有自己的trans-unit' id

我知道没有运行时库可以访问XLIFF文件来获取翻译文本,看来那里的所有API只知道*.mo文件,从*.po文件生成的二进制格式,所以我猜即使一个人使用XLIFF进行翻译(无论是自制翻译还是翻译给付费人员的翻译),他/她必须将生成的翻译转换为*.po*.mo文件。

第二段中的假设是否正确?如果不是,那么避免这种转换的方法是什么?如果它是正确的,那么在第一段中的评论之后,这种转换在技术上是如何工作的,最重要的是,它可以 - 或者如何 - 它保持相似的看起来文本之间的区别,然而由于上下文,它们在语义上是不同的? / p>

关于这篇文章的注意事项:我知道这篇文章中有两个问题,但由于两者都是相互关联的,我没有看到一个明确的方式将其发布为两个问题(其中会显得无关。)

更新

对于上下文,自msgctx 0.15以来就存在gettext,这是自2006年7月以来。但我无法在gettext中看到任何上下文参数Python3。如果不支持(或不广泛支持),这并不比没有支持更好。我对此感到谨慎。

1 个答案:

答案 0 :(得分:1)

对于XLIFF的翻译,您可以尝试http://virtaal.translatehouse.org/。 它是免费的,它支持gettext和xliff。

修改

我碰巧在po和xliff之间找到了这种比较:http://docs.oasis-open.org/xliff/v1.2/xliff-profile-po/xliff-profile-po-1.2-cd02.html#s.general_considerations