Internationalization 使用ICU4C和XLIFF进行定位
建议以XLIFF格式保存可本地化数据 因此,我使用GNUInternationalization 使用ICU4C和XLIFF进行定位,internationalization,icu,xliff,xgettext,translate-toolkit,Internationalization,Icu,Xliff,Xgettext,Translate Toolkit,建议以XLIFF格式保存可本地化数据 因此,我使用GNUxgettext将字符串提取到gettext格式文件中,然后使用将其转换为XLIFF文件 最后,我尝试使用将它们转换为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'.
xgettext
将字符串提取到gettext
格式文件中,然后使用将其转换为XLIFF文件
最后,我尝试使用将它们转换为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'.
几乎相同的错误,尚未修复
可怜的XLIFF文件的第2行是:
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
那么,使用ICU4C和XLIFF进行本地化的最佳实践是什么呢?我无法回答您关于使用ICU4C和XLIFF进行本地化的最佳实践的问题,但我在构建ICU资源时使用了错误版本的Java JDK,我看到了“XLIFF文档无效”错误
在我的系统上,当我使用
jdk1.7.067
时,我看到了错误。如果我使用jdk1.6.0\u 45
,一切都正常。这是ICU52.1。您可能需要验证所使用的ICU版本是否使用了正确的JDK。考虑到XLIFF到ICU ResourceBundle格式转换器尚不支持XLIFF 1.2(已经存在多年),我建议不要使用XLIFF并使用po文件进行本地化。有几种支持po文件的本地化工具:在和的答案中,您将发现大量处理po文件的本地化工具,新工具仍在开发中()
当然,不是每个翻译都能够或愿意处理po文件,但是通过po将软件本地化的机会要比尝试使用XLIFF方式好得多
ERROR: java.lang.NullPointerException