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

po translation files: what are automatic comments for?

当我翻译一些东西时,有时会有一些字符串放在注释中并保留在其他所有内容之后。这些评论有什么用?

例如:

#~ 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é"

|有什么用?

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

如果该字符串以后再次出现,它会再次取消对翻译的注释,因此您不必重新翻译它。它还将使用这样评论的条目作为通过模糊匹配的建议来源。


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

msgid "Open"
msgstr "Otevři"

并且模板有

msgid "Open!"
msgstr ""

然后 msgmerge 将创建:

#,fuzzy
#| msgid "Open"
msgid "Open!"
msgstr "Otevři"

poedit、pootle 或 weblate 等 po 编辑器应该在固定字符串并删除模糊标志时删除 #| 注释。但是,如果有人在文本编辑器中编辑 .po,他们可能会错误地将其留在其中。