java – XLIFF,版本控制或翻译更新过程(Diff Leverage步骤)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – XLIFF,版本控制或翻译更新过程(Diff Leverage步骤),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6196字,纯文字阅读大概需要9分钟。
内容图文
![java – XLIFF,版本控制或翻译更新过程(Diff Leverage步骤)](/upload/InfoBanner/zyjiaocheng/784/dc2eb30c4d534ed989ad5b8495f4304b.jpg)
我正在考虑使用XLIFF标准化企业内的本地化工作.
我是xliff的新手并且已经做了一些研究我想到了以下使用它的一般过程:
>从开发项目资源中提取字符串(.resx为.Net,
.properties for Java) – 我发现的好方法就是使用它
来自Okapi Localization Toolbox的Rainbow – 并使用“Utilities =>
翻译套件创作“命令
>然后翻译提取的文件,如下所述
http://www.opentag.com/okapi/wiki/index.php?title=How_to_Translate_XLIFF_Documents
例如,使用Virtaal应用程序
>最后将翻译后的xliff转换回原始格式(resx / properties) – 这可以与Rainbow一起使用“Utilities => Translation Kit Post-Processing”
到目前为止,一切都很清楚,但是我想知道添加或修改字符串资源时的最佳做法是什么?每当有一个新字符串以原始格式(resx / properties)添加到字符串资源时,我宁愿不重新翻译所有资源.
如果对翻译有版本控制支持,这也将是很好的 – 如果它们用相同的版本标记,那么将合并多个语言翻译(提供相同的字符串集).添加新字符串或修改现有字符串时会更新版本.
是否有现成的解决方案?或者我们必须自己建立什么?
编辑:
我在Okapi Rainbow的Pipeline库中找到了Diff Leverage步骤,但是我很难让它工作.这是两个xliff文件.第一个是用法语翻译的资源的第一个版本,第二个是从新版本的资源生成的文件,其中包含以下更改:
> 1个字符串更新(AdminTitleResource现在是管理资源)
> 1个字符串已删除(HomeLinkResource已消失)
>添加了2个新字符串(项目和公司)
但是,运行Diff Leverage管道不会产生翻译的智能合并.有什么想法吗?
以前版本资源的翻译xliff:
<?xml version="1.0" encoding="windows-1252"?><xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:okp="okapi-framework:xliff-extensions" version="1.2">
<file original="/Messages.resx" source-language="en-us" target-language="fr-fr" datatype="xml">
<body>
<trans-unit id="1" resname="AccessDenied" xml:space="preserve" approved="yes">
<source xml:lang="en-us">Access denied</source>
<target xml:lang="fr-fr" state="translated">Accès refusé </target>
<note>Error message</note>
</trans-unit>
<trans-unit id="2" resname="AdminTitleResource" xml:space="preserve" approved="yes">
<source xml:lang="en-us">Administration</source>
<target xml:lang="fr-fr" state="translated">Administration</target>
<note></note>
</trans-unit>
<trans-unit id="3" resname="HomeLinkResource" xml:space="preserve" approved="yes">
<source xml:lang="en-us">Main page</source>
<target xml:lang="fr-fr" state="translated">Page web principale</target>
<note></note>
</trans-unit>
<trans-unit id="4" resname="SelectCategoriesResource" xml:space="preserve" approved="yes">
<source xml:lang="en-us">Categories</source>
<target xml:lang="fr-fr" state="translated">Catégories</target>
<note></note>
</trans-unit>
<trans-unit id="5" resname="SelectConfigResource" xml:space="preserve">
<source xml:lang="en-us">Configuration</source>
<target xml:lang="fr-fr" state="needs-review-translation">Paramètres</target>
<note></note>
</trans-unit>
<trans-unit id="6" resname="SelectGroupsResource" xml:space="preserve">
<source xml:lang="en-us">User groups</source>
<target xml:lang="fr-fr" state="needs-review-translation">Utiliser le groupe</target>
<note></note>
</trans-unit>
</body>
</file>
</xliff>
如何只使用需要翻译的字符串获取XLIFF文件?
上面列出的更改的新文件:
<?xml version="1.0" encoding="windows-1252"?><xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:okp="okapi-framework:xliff-extensions" version="1.2">
<file original="/Messages_v2.resx" source-language="en-us" target-language="fr-fr" datatype="xml">
<body>
<trans-unit id="1" resname="AccessDenied" xml:space="preserve">
<source xml:lang="en-us">Access denied</source>
<target xml:lang="fr-fr">Access denied</target>
<note>Error message</note>
</trans-unit>
<trans-unit id="2" resname="AdminTitleResource" xml:space="preserve">
<source xml:lang="en-us">Administration Resource</source>
<target xml:lang="fr-fr">Administration Resource</target>
<note></note>
</trans-unit>
<trans-unit id="3" resname="SelectCategoriesResource" xml:space="preserve">
<source xml:lang="en-us">Categories</source>
<target xml:lang="fr-fr">Categories</target>
<note></note>
</trans-unit>
<trans-unit id="4" resname="SelectConfigResource" xml:space="preserve">
<source xml:lang="en-us">Configuration</source>
<target xml:lang="fr-fr">Configuration</target>
<note></note>
</trans-unit>
<trans-unit id="5" resname="SelectGroupsResource" xml:space="preserve">
<source xml:lang="en-us">User groups</source>
<target xml:lang="fr-fr">User groups</target>
<note></note>
</trans-unit>
<trans-unit id="6" resname="Project" xml:space="preserve">
<source xml:lang="en-us">Project</source>
<target xml:lang="fr-fr">Project</target>
<note></note>
</trans-unit>
<trans-unit id="7" resname="Company" xml:space="preserve">
<source xml:lang="en-us">Company</source>
<target xml:lang="fr-fr">Company</target>
<note></note>
</trans-unit>
</body>
</file>
</xliff>
解决方法:
这里有一个答案:
http://tech.groups.yahoo.com/group/okapitools/message/2494
编辑:链接消息的内容
Hi Paul,
I am trying to figure out how to use the diff leverage
to improve the translation experience and get an
update xliff file when merging/leveraging existing
translation with new version of the document with
added/modified/removed strings.
正如Jim所说,使用XLIFF文件,您可以利用它
基于身份的步骤.
但Diff杠杆步骤也会起作用.这是怎么做的:
我假设您有XLIFF文件,只是想更新它们.
您可以创建管道来执行其他操作,例如创建
翻译套件等,但这将使事情变得简单.
首先,您需要将新的源文件放在输入列表1和
输入列表2中的已翻译文件.
然后,您可以创建以下管道:
>过滤事件的原始文档
>差异杠杆
>将事件过滤到原始文档
在Diff Leverage步骤的参数中:确保选项
设置“复制到目标上/上”.
然后执行管道.
我在原始新版本之间附加了一个比较(compare_out.html)
文件和输出文件.正如您可以看到所有可能的文本
杠杆现在在输出中.您的条目“AdminTitleResource”不是
翻译,因为它是翻译文件中的来源是
不同,你的两个新条目也没有翻译.
您还会注意到新的属性approved =’yes’
表明翻译已完成.额外的标志可以用来
区分需要翻译的条目
被杠杆化了.
由于某种原因,两个杠杆条目没有它:我会有
看一下并报告回来.这可能是一个错误或某些条件我
不记得(可能是吉姆).
基于Id的复制步骤几乎可以更好.它会复制
通过匹配条目的resname来翻译文本.我说
几乎是因为目前它没有查看源文本,所以你
即使新来源不同,也要获得翻译(不是
‘利用’步骤).但是我们可以添加一个额外的选项
检查,这将使步骤像杠杆步骤一样工作.生病
试着找时间做这个.
希望这可以帮助,
-yves
内容总结
以上是互联网集市为您收集整理的java – XLIFF,版本控制或翻译更新过程(Diff Leverage步骤)全部内容,希望文章能够帮你解决java – XLIFF,版本控制或翻译更新过程(Diff Leverage步骤)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。