跳到主要内容
版本:1.5.4

2.4 注释和字符串属性

Gettext PO 字符串注释还提供多种属性。

#  译者注释
#. 程序员留给译者的注释
#: 文件:行号, 更多的文件..
#, 各种属性, 又一个属性..
#| msgid 模糊匹配的老结果
msgid "blah"
msgstr "blah"
# 未在 pot 找到对应的老翻译
#~ msgid "bl"
#~ msgstr "ah"

请注意他人和开发者留下的注释经常非常重要。对于其中留下的行号信息等上下文,一定要仔细考虑。特别是对于短词,直译的选择可能有很多,上下文此时就更重要。例如 Start,单独翻译成开始,但是在 Start、Pause、Resume 都作为需要“被”的词时也许可以采用,启动,暂停,恢复这样的翻译。如果拿不准一 句话的含义,那更要参考注释和上下文语境了,必要时还可能需要实际代入软件确认。

2.4.1 翻译属性

  • 模糊 (fuzzy): msgmerge 模糊匹配的结果,或者是翻译者因为不确定而手动留下的标记。模糊匹配有时比较准确,有时却谬之千里。带有模糊标记的字段不会被 msgfmt 编译入 mo 文件,所以需要去除标记。
  • foo-format: 见编程语言格式章节。

2.4.2 已淘汰翻译

老版本的程序中总有一些信息会在新版本中淘汰掉,这些译文由 msgmerge 程序自动设置为以 #~ 开头,并被置于整个 PO 文件的后方,直接删除它们不会影响当前版本的翻译内容,但是因为这些字符串还可能在以后的版本中重新出现,届时 msgmerge 还可以使用这些译文来提供翻译建议,所以如果它们没有影响到你的工作建议不要删除它们。