常見的陷阱

模糊翻譯

有時 makemessages 可能會認為它為翻譯找到​​的字串與已有的翻譯有些相似。它會在 .po 檔案中用特殊的 fuzzy 註釋標記它,如下所示:

#: templates/randa/map.html:91
#, fuzzy
msgid "Country"
msgstr "Länderinfo"

即使翻譯是正確的,或者你將其更新為正確的翻譯,除非你刪除 fuzzy 評論行,否則它將不會用於翻譯你的專案。

多行字串

makemessages 以各種格式解析檔案,從純文字到 python 程式碼,並不是為了遵循這些格式的多行字串的每個可能規則而設計的。大多數情況下單行字串可以正常工作,但如果你有這樣的結構:

translation = _("firstline"
"secondline"
"thirdline")

它只會拿起 firstline 進行翻譯。解決方案是儘可能避免使用多行字串。