常見的陷阱
模糊翻譯
有時 makemessages
可能會認為它為翻譯找到的字串與已有的翻譯有些相似。它會在 .po
檔案中用特殊的 fuzzy
註釋標記它,如下所示:
#: templates/randa/map.html:91
#, fuzzy
msgid "Country"
msgstr "Länderinfo"
即使翻譯是正確的,或者你將其更新為正確的翻譯,除非你刪除 fuzzy
評論行,否則它將不會用於翻譯你的專案。
多行字串
makemessages
以各種格式解析檔案,從純文字到 python 程式碼,並不是為了遵循這些格式的多行字串的每個可能規則而設計的。大多數情況下單行字串可以正常工作,但如果你有這樣的結構:
translation = _("firstline"
"secondline"
"thirdline")
它只會拿起 firstline
進行翻譯。解決方案是儘可能避免使用多行字串。