使用 ICU4C 和 XLIFF 进行本地化
Localizing with ICU4C and XLIFF
Localizing with ICU 建议以 XLIFF 格式保存可本地化的数据。
所以我使用GNU xgettext
将字符串提取为gettext
格式文件,然后使用po2xliff
.
将它们转换为XLIFF文件
最后我尝试用XLIFF To ICU ResourceBundle Format Converter把它们转成ICU资源格式,发现不行。它抱怨错误:
The XLIFF document is invalid, please check it first:
Line 2, Column 68
Error: cvc-elt.1: Cannot find the declaration of element 'xliff'.
几乎相同的错误was reported years ago,尚未修复。
糟糕的 XLIFF 文件的第 2 行是:
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
好吧,我根据 example.xlf
in Localizing with ICU page 编辑了该行(示例文件中有很多错别字),重试,结果是:
ERROR: java.lang.NullPointerException
那么使用 ICU4C 和 XLIFF 进行本地化的最佳做法是什么?
我无法回答您有关使用 ICU4C 和 XLIFF 进行本地化的最佳实践的问题,但我在使用构建 ICU 资源时 Java JDK 版本错误。
在我的系统上,我在使用 jdk1.7.0_67
时看到错误。如果我使用 jdk1.6.0_45
,一切正常。这是 ICU 52.1。您可能需要验证您使用的 ICU 版本是否正确 JDK。
考虑到 XLIFF 到 ICU ResourceBundle 格式转换器尚不支持 XLIFF 1.2(已经存在多年),我建议远离 XLIFF 并使用 po 文件进行本地化。有几种支持 po 文件的本地化工具:在 this question and this one you will find a fairly large number of localization tools that handle po files, and new ones are still being developped (like this one).
的答案中
当然不是每个译员都能够或愿意处理 po 文件,但是通过 po 将您的软件本地化的机会比尝试采用 XLIFF 方式要好得多。
Localizing with ICU 建议以 XLIFF 格式保存可本地化的数据。
所以我使用GNU xgettext
将字符串提取为gettext
格式文件,然后使用po2xliff
.
最后我尝试用XLIFF To ICU ResourceBundle Format Converter把它们转成ICU资源格式,发现不行。它抱怨错误:
The XLIFF document is invalid, please check it first:
Line 2, Column 68
Error: cvc-elt.1: Cannot find the declaration of element 'xliff'.
几乎相同的错误was reported years ago,尚未修复。
糟糕的 XLIFF 文件的第 2 行是:
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
好吧,我根据 example.xlf
in Localizing with ICU page 编辑了该行(示例文件中有很多错别字),重试,结果是:
ERROR: java.lang.NullPointerException
那么使用 ICU4C 和 XLIFF 进行本地化的最佳做法是什么?
我无法回答您有关使用 ICU4C 和 XLIFF 进行本地化的最佳实践的问题,但我在使用构建 ICU 资源时 Java JDK 版本错误。
在我的系统上,我在使用 jdk1.7.0_67
时看到错误。如果我使用 jdk1.6.0_45
,一切正常。这是 ICU 52.1。您可能需要验证您使用的 ICU 版本是否正确 JDK。
考虑到 XLIFF 到 ICU ResourceBundle 格式转换器尚不支持 XLIFF 1.2(已经存在多年),我建议远离 XLIFF 并使用 po 文件进行本地化。有几种支持 po 文件的本地化工具:在 this question and this one you will find a fairly large number of localization tools that handle po files, and new ones are still being developped (like this one).
的答案中当然不是每个译员都能够或愿意处理 po 文件,但是通过 po 将您的软件本地化的机会比尝试采用 XLIFF 方式要好得多。