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

Oli*_*ons 4 translation po

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

\n\n

例如:

\n\n
#~ msgid ""\n#~ "You tried to register but your email is already known.\\n"\n#~ "To try again to login, click on the following link:\\n"\n#~ "{}{}"\n#~ msgstr ""\n#~ "Vous avez essay\xc3\xa9 de vous enregistrer, mais votre email est d\xc3\xa9j\xc3\xa0 connu."\n#~ "Pour vous connecter, cliquez sur le lien suivant :\\n"\n#~ "{}{}"\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是做什么~用的?\n有时会有这样的管道:

\n\n
#~| msgid "Show your activity"\n#~ msgid "your activities"\n#~ msgstr "Montrer mon activit\xc3\xa9"\n
Run Code Online (Sandbox Code Playgroud)\n\n

|为了什么?

\n

Jan*_*dec 5

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

\n\n

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

\n\n
\n\n

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

\n\n
msgid "Open"\nmsgstr "Otev\xc5\x99i"\n
Run Code Online (Sandbox Code Playgroud)\n\n

并且模板有

\n\n
msgid "Open!"\nmsgstr ""\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后msgmerge将创建:

\n\n
#,fuzzy\n#| msgid "Open"\nmsgid "Open!"\nmsgstr "Otev\xc5\x99i"\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n