我使用msgmerge将现有的po
文件与更新的pot
文件合并,例如
msgmerge test-zh_TW.po test.pot > test.po
我发现在msgmerge之后,有些字段被标记为fuzzy
,为什么会这样?
(我想知道原因,我知道我可以用-N关闭它们,但为什么它是第一名的默认值?)
答案 0 :(得分:5)
引用手册的文档
模糊条目,即使它们为大多数其他目的考虑翻译条目,通常也要求翻译者进行修订。这些工具可以通过应用程序msgmerge根据新的PO模板文件更新旧的已翻译的PO文件来生成,当此工具假设某些新的msgid仅稍微修改了一个旧的msgid时,并选择配对它的想法成为新修改条目的旧翻译。原始字符串(msgid字符串)的轻微更改通常应反映在已翻译的字符串中,这需要翻译人员的干预。因此,msgmerge可能会将某些条目标记为模糊。
简而言之,这是因为msgmerge中的模糊匹配算法发现一些新消息足够接近旧消息,以保证将其与旧翻译相关联,但它标志着它是模糊的,以便提示翻译人员修改翻译,因为它只是模糊或部分匹配。
这是默认行为的原因是因为msgmerge.c的实现具有以下行。
/* Determines whether to use fuzzy matching. */
static bool use_fuzzy_matching = true;
<强>参考强>