我已经实现了一个本地服务,它允许将 html、docx、xlsx、tmx 等多种格式转换为 XLIFF。在使用 xlf 生成的文件执行特定过程后,我想将其恢复为原始格式。我为此目的使用 okapi 库,并且一切正常。
我想知道 okapi 是否实现了将 xlf 转换为其原始文件格式的机制,特别是将 xlf 转换为 html(这种格式对我来说是强制性的)。
有没有合适的方法?
提前致谢
我已经实现了一个本地服务,它允许将 html、docx、xlsx、tmx 等多种格式转换为 XLIFF。在使用 xlf 生成的文件执行特定过程后,我想将其恢复为原始格式。我为此目的使用 okapi 库,并且一切正常。
我想知道 okapi 是否实现了将 xlf 转换为其原始文件格式的机制,特别是将 xlf 转换为 html(这种格式对我来说是强制性的)。
有没有合适的方法?
提前致谢
是的,这通常是可能的。Okapi 称之为merging,它要求源 HTML(或其他格式)文件除了翻译的 XLIFF 之外可用。
执行此操作的常用方法是使用一对彩虹管道。第一个(“提取”)管道如下所示:
这将生成一个“翻译工具包”,其中包含源文件、提取的 XLIFF 以及名为manifest.rkm
. 然后,您可以修改 XLIFF 以执行翻译等。然后,使用另一个管道执行合并:
有点令人困惑的是,这个合并管道的源文件应该是翻译工具包的 manifest.rkm 文件,而不是 XLIFF 或源文件。Okapi 将解析清单并找出其他所有内容的位置,然后将 XLIFF 的翻译合并回 HTML 的新输出副本。
如果您对 XLIFF 做了足够可怕的事情,以至于 Okapi 无法再将翻译后的片段映射回原始文档,则此过程可能会失败。
在没有工具包的情况下,做同样事情的一种快速而简单的方法是使用tikal
与 Okapi 捆绑在一起的命令行工具。首先,使用它来提取test.html
到test.html.xlf
:
tikal.sh -fc okf_html -x test.html
然后,将翻译的内容合并test.html.xlf
到一个输出中test.out.html
:
tikal.sh -fc okf_html -m test.html.xlf
我不明白你的问题:你能不能把文件转换回来?我认为不是,这就是这个答案的意义所在。
http://www.opentag.com/okapi/wiki/index.php?title=Rainbow上的 Okapi 文档说:有多种格式的过滤器,例如:OpenOffice、XML、HTML、Properties、DTD、MS Office、表等
要将 XLIFF 文件转换回其原始格式,您必须将过滤事件添加到原始文档步骤到您的命令管道。有两种适用于 HTML 的过滤器配置,一种适用于 HTML 5。