【问题标题】:Why msgmerge marked some of my translation as fuzzy?为什么 msgmerge 将我的某些翻译标记为模糊?
【发布时间】:2015-01-24 15:12:49
【问题描述】:

我使用 msgmerge 将我现有的 po 文件与更新的 pot 文件合并,例如

msgmerge test-zh_TW.po test.pot  > test.po

我发现在msgmerge之后,有些字段被标记为fuzzy,这是为什么呢?

(我想知道原因,我知道我可以通过-N关闭它们,但是为什么它是第一个位置的默认值?)

【问题讨论】:

    标签: localization internationalization translation gettext po


    【解决方案1】:

    引用手册的文档

    模糊条目,即使它们出于大多数其他目的考虑了翻译条目,通常也需要翻译人员进行修改。这些可以通过应用程序 msgmerge 来根据新的 PO 模板文件更新旧的翻译 PO 文件来生成,当此工具假设某些新的 msgid 仅略微修改了旧的 msgid 并选择配对它的想法时成为新修改条目的旧翻译。原始字符串(msgid 字符串)的细微变化往往会反映在翻译后的字符串中,这需要翻译人员的干预。因此,msgmerge 可能会将某些条目标记为模糊。

    简而言之,这是因为 msgmerge 中的模糊匹配算法,发现一些新消息与旧消息足够接近,从而保证将其与旧翻译相关联,但它标记它是模糊的,以便提示译者修改译文,因为它只是模糊匹配或部分匹配。

    这是默认行为的原因是因为 msgmerge.c 的实现有以下几行。

    /* Determines whether to use fuzzy matching.  */
    static bool use_fuzzy_matching = true;
    

    参考文献

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      • 2014-10-23
      • 2014-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多