我有一个相当简单的Django(1.1)网站,我需要一些基本的界面和其他文本在两种语言之间进行翻译。我使用manage.py makemessages
创建了po文件,翻译它们(使用poedit),并使用manage.py compilemessages
编译mo文件,如i18n docs for Django中所述。
但问题是;大多数字符串仍以原始语言显示...
getlang()
方法不确定在哪里查看...是否有任何应用程序可用于检查已编译的mo文件是否有效&完成比如?这些字符串可以缓存吗? (我没有使用任何缓存中间件)
答案 0 :(得分:2)
发现它!!在拔出头发试图弄清楚是什么导致了我的困境时,我从django.middleware.locale.LocaleMiddleware
评论了MIDDLEWARE_CLASSES
并刷新了页面,试图尝试一切。显然,只是一起关闭了翻译,但是当我再次打开它时,我所有精美的翻译字符串都显示出来,因为它们应该一直存在。
所以我猜测某些东西,当你打开语言环境中间件时,某处得到了编译/缓存,刷新它的唯一方法就是关闭它。重新启动服务器没有帮助,所以这有点反直觉,但谁在乎它的工作! :)