使用 ICU 进行本地化建议将可本地化的数据保存为 XLIFF 格式。
所以我使用 GNUxgettext
提取字符串来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'.
几年前报告了几乎相同的错误,但尚未修复。
糟糕的 XLIFF 文件的第 2 行是:
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
好吧,我根据 Localizing example.xlf
with ICU 页面(示例文件中有很多拼写错误)编辑了该行,重试,结果如下:
ERROR: java.lang.NullPointerException
那么使用 ICU4C 和 XLIFF 进行本地化的最佳实践是什么?