常见的陷阱
模糊翻译
有时 makemessages
可能会认为它为翻译找到的字符串与已有的翻译有些相似。它会在 .po
文件中用特殊的 fuzzy
注释标记它,如下所示:
#: templates/randa/map.html:91
#, fuzzy
msgid "Country"
msgstr "Länderinfo"
即使翻译是正确的,或者你将其更新为正确的翻译,除非你删除 fuzzy
评论行,否则它将不会用于翻译你的项目。
多行字符串
makemessages
以各种格式解析文件,从纯文本到 python 代码,并不是为了遵循这些格式的多行字符串的每个可能规则而设计的。大多数情况下单行字符串可以正常工作,但如果你有这样的结构:
translation = _("firstline"
"secondline"
"thirdline")
它只会拿起 firstline
进行翻译。解决方案是尽可能避免使用多行字符串。