翻译:PO翻译文件:自动注释有什么作用?

4

当我翻译一些东西时,有时候会有一些字符串被放在注释中并且保留在其他所有内容之后。这些注释是用来做什么的呢?

例如:

#~ msgid ""
#~ "You tried to register but your email is already known.\n"
#~ "To try again to login, click on the following link:\n"
#~ "{}{}"
#~ msgstr ""
#~ "Vous avez essayé de vous enregistrer, mais votre email est déjà connu."
#~ "Pour vous connecter, cliquez sur le lien suivant :\n"
#~ "{}{}"

什么是符号“~”的作用? 有时会出现这样的管道符号:
#~| msgid "Show your activity"
#~ msgid "your activities"
#~ msgstr "Montrer mon activité"

什么是|的作用?
1个回答

5

#~注释是过时的字符串。当一个字符串有翻译但不出现在当前的模板(.pot)中时,msgmerge工具会用#~将其注释掉,但仍然保留它。

如果该字符串在未来再次出现,则会取消注释翻译,因此您无需重新翻译它。它还将使用这些已注释的条目作为模糊匹配建议的源。


#~|是注释掉#|注释的结果。 #|注释是通过模糊匹配创建建议时的原始文本。例如,如果目录中有

msgid "Open"
msgstr "Otevři"

这个模板有:
msgid "Open!"
msgstr ""

然后,msgmerge 将创建以下内容:
#,fuzzy
#| msgid "Open"
msgid "Open!"
msgstr "Otevři"

PO 编辑器,像是 poedit、pootle 或 weblate,应该在字符串被修复且模糊标志被移除时删除 #| 注释。但如果有人在文本编辑器中编辑了 .po 文件,则可能错误地将其保留。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接