我有一个中等大小的Django项目,(如果它有任何不同,在AppEngine上运行),并且所有字符串都存在于.po文件中.
我看到某些字符串不能翻译的奇怪行为.当我运行make_messages时,它们会显示在.po文件中,并且正确的文件位置标记在我的{%trans%}标记所在的位置.与其他任何一方的其他字符串相比,翻译到位并且看起来正确.但是当我显示有问题的页面时,大约1/4的字符串根本就没有翻译.
深入研究相关生成的.mo文件,我没有看到msgid或msgstr存在.
有没有人见过类似的东西?知道可能会发生什么吗?
trans标签看起来正确
.po文件看起来正确
在compile_messages期间没有错误
Jason Kester.. 10
啊.Django,你杀了我.
这是发生的事情:
http://blog.e-shell.org/124
由于某种原因,只有Django知道,它决定用评论'#fuzzy'来装饰我的一些翻译.它似乎选择了哪些随机标记.
无论如何,#fuzzy意味着:"不要翻译这个,即使这是翻译:"
我将把它留在这里以防将来其他一些可怜的灵魂遇到它.
啊.Django,你杀了我.
这是发生的事情:
http://blog.e-shell.org/124
由于某种原因,只有Django知道,它决定用评论'#fuzzy'来装饰我的一些翻译.它似乎选择了哪些随机标记.
无论如何,#fuzzy意味着:"不要翻译这个,即使这是翻译:"
我将把它留在这里以防将来其他一些可怜的灵魂遇到它.
模糊标记由makemessages添加到.po文件中.当你有一个新的字符串(没有翻译)时,它会查找类似的字符串,并将它们作为翻译包含在内,并带有模糊标记.这意味着,这是一个粗略的匹配,所以不要将它显示给用户,但它可能是人类翻译的良好开端.
它不是Django行为,它来自gettext工具.