ZH/PO4A-GETTEXTIZE-Error-Solution

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

PO4A-GETTEXTIZE报错及应对策略

说明

  • 这项工作属于Adempiere ERP中文协作翻译平台筹备的一部分,属于“初始数据整理和导入”中的“生成翻译校对表”的主要工作。
  • po4a-gettextize是用于翻译文本处理的一个工具,是PO4A的一个组成部分。

命令格式

  • 利用已有XML中文翻译文件,可以自动生成PO格式中文翻译文件。以下是通用的命令格式:
    • po4a-gettextize -f xml -m origin.xml -l trans.xml > trans.po
  • 命令参数说明:
    • origin.xml:英文原有文件,XML格式。例如:AD_Column_Trl_en_US.xml
    • trans.xml:中文翻译文件,XML格式。例如:AD_Column_Trl_zh_CN.xml
    • trans.po:中文翻译文件,PO格式。

报错及应对策略

  • 自动生成PO格式中文翻译文件的过程中,会遇到一些错误提示。因此我们在这里需要对这些错误提示进行分析,并找出解决办法。

应对策略要点

  • 已有中文翻译的,就采用中文翻译。
  • 如果有多条不同的中文翻译,就推荐出现次数最多的那一个。
  • 如果没有中文翻译,就直接采用英文原文。

应对策略详细说明

主要步骤

  • 以ID和Column为依据,对origin.xml与trans.xml中的每一项进行匹配及核对;
  • 对po4a-gettextize报错进行分类处理;
  • 对po4a-gettextize不存在报错的情况进行处理;
  • 后续处理步骤。

PO4A报错类别及处理方法

报错类别 详细说明 报错处理方法
1 条目数量不一致
  • 当origin.xml文件与trans.xml文件条目数量不一致时。
  • 在trans.xml找不到与origin.xml对应的条目时,自动补上英文条目。
  • 对于trans.xml比origin.xml多出的条目,输出到文件:chk-4.xml
2 不同的中文翻译
  • 对于origin.xml中相同的英文条目,如果trans.xml中存在不同的中文翻译时。
  • 例如“Reference”在表“AD_Element”中就存在三种不同的中文翻译:付款参考、参考、引用。
  • 对于存在分歧的中文翻译统一输出到文件:chk-1.xml。程序会自动推荐出现次数最多的中文翻译条目。
  • 步骤D(注1)将会生成校对后的4PO-XML格式中文翻译文件时,大部分的英文条目将根据这个表采用统一的中文翻译条目。
  • 注意:chk-1.xml需要手工一条一条地核审、修改。
3 中英文混杂 对于origin.xml中相同的英文条目,如果trans.xml中同时存在中文翻译及英文未翻译条目时。 步骤D(注1)将会统一采用相应的中文条目。
4 不同的英文原文
  • 对于trans.xml中相同的中文翻译,如果origin.xml中存在不同的英文原文时。
  • 例如“制造数量”在表“AD_Element”中就存在三种不同的英文原文:"Production Qty"、"Production Quantity"。
  • 主要出现规律:
    • 以英语单数/复数的情况居多。
    • 以缩略词居多。
  • 对于这种情况,程序会在中文翻译后面自动加一串特殊记号,例如#DIFF1#、#DIFF2#,并统一输出到chk-2.xml。
  • 当PO文件、POT模板文件生成完毕后,程序还会自动去掉这些特殊记号。


PO4A不存在报错的情况

  • 不存在分歧的中文翻译统一输出到文件:chk-3.xml。

后续步骤

  • 经手工检查、调整完毕后,步骤D(注1)首先会将chk-1.xml、chk-2.xml、chk-3.xml合并成chk-all.xml,所有的英文条目将根据这份文件采用统一的中文翻译条目,最终生成校对后的4PO-XML格式中文翻译文件注释。

翻译校对文件列表

文件名 文件说明
1 chk-1.xml 中文翻译不一致的条目
2 chk-2.xml 英文原文不相同的条目
3 chk-3.xml 不存在分歧的中文翻译条目
4 chk-4.xml trans.xml比origin.xml多出的条目
5 chk-all.xml 根据chk-1.xml、chk-2.xml、chk-3.xml合并生成

备注

  • **注1:步骤D是指协作翻译工作原理图中的步骤D。这一步根据翻译校对表,生成“中文现有翻译(校对版)”。