如何构建XLIFF导出以供翻译人员使用?

问题描述 投票:0回答:1

主要问题是:我应该如何构建XLIFF的结构才能使用?

是)我有的:

一个Symfony (3.4)项目,我想将可翻译的内容导出为XLIFF。我不是指捆绑翻译,而是来自数据库的动态内容。

到目前为止,我已经编写了一个包,使用MessageCatalogue收集内容,使用XliffFileDumper编写XLIFF文件。

这给了我一个平坦的XLIFF与要翻译的内容。我想这不是很实用。示例:页面包含内容。目前我只收集平坦的XLIFF中的所有内容。将此文件提供给翻译者,他/她将不知道哪个内容属于哪个页面。这很糟糕,对吧?

我现在使用的MessageCatalogue => XliffFileDumper方法似乎有点受限。我可以添加元数据(注释),但我不能使用组例如。似乎也不可能向一个单元添加多个段。我可以设置的是一个“域”,导致<file id="content.fr">标签(domain=content)例如。

我会很高兴以这种方式建立一个有用的XLIFF,但告诉我,如果我不能。比我需要写一个定制的XLIFF翻斗车。

想法:我每页可以使用一个域,这导致了很多文件?好的做法?我可以在元数据/注释中添加有关父页面的信息。译者甚至可以利用它吗?

什么是文件结构的最佳实践?如果有人知道有用的symfony包,请告诉我。

symfony translation xliff
1个回答
1
投票

考虑到您所说的当前自卸车限制,您无法建立基于最佳实践的有用XLIFF。

如果你要改进翻斗车,我建议先阅读这个https://galaglobal.github.io/TAPICC/T1/WG3/rs01/XLIFF-EM-BP-V1.0-rs01.xhtml

基于以上所述,将新的转储器参数化输出为XLIFF 1.2,XLIFF 2.1或XLIFF 2.0。 XLIFF 2.1 http://docs.oasis-open.org/xliff/xliff-core/v2.1/os/xliff-core-v2.1-os.html是向后兼容XLIFF 2.0的最新版本,但不向后兼容XLIFF 1.2。 CAT(计算机辅助翻译)工具中的XLIFF 1.2支持仍然大于XLIFF 2,但OASIS技术委员会不再维护XLIFF 1.2。

您的新转储程序应支持使用源资产元数据对提取的文件/组/单元进行递归分组和装饰,请参阅上面有关如何执行此操作的最佳实践文档。如果您这样做,CAT工具将能够将其显示给会发现非常有用的翻译人员。基本上每个结构元素都有一个专用属性来存储提取资源的id,文件中的@original,组和单元上的@name。你还可以在@type中存储一个私有的nmtoken:前缀字符串。如果这还不够,你可以在骨架或资源数据模块中存储更多的往返数据。两者都可以是内部的或外部的。

还建议从XLIFF 2核心开始,只有在核心往返成功后才添加模块数据。

一个非常有用且易于实现的模块是fs模块,可以更轻松地为翻译生成HTML预览。注释<note>不应仅用于翻译元数据,仅用于翻译人员可读的指令/警告/评论。

正如您所猜测的,转储器应该能够创建分层结构。您无需为分割单位而烦恼。但是创建具有更多细分的单元是可以的。再看一下最佳实践文档,了解它何时有意义。您应始终能够在任何单元内接收不同数量的段。但内容不得跨越单位边界进行迁移。

单位内的分段编码是XLIFF 1.2和XLIFF 2之间的主要区别。您需要查看规范以获取详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.