【发布时间】:2012-05-06 18:56:13
【问题描述】:
问题很奇怪。一半的管理员铭文被翻译成错误的语言。我在我的项目中使用 ru 和 en 语言。网站以正确的语言呈现,但在同一个浏览器中,管理员会出现,如图所示:
我的应用中有 locale 文件夹,其中包含 en 和 ru 语言环境,.po 和 .mo 文件在那里...
settings.py:
LANGUAGES = (
('ru', gettext(u'Русский')),
('en', gettext(u'English')),
)
尝试不同的网络浏览器...浏览器在标题中发送以下字符串:
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
问题仅在管理页面中...
UPD 1:
在 Diego 的帮助下,问题已本地化,但并未解决。 runserver 一切看起来都很好。但是在fastcgi+nginx下就不行了……
【问题讨论】:
-
你在你的模型中使用了类 Meta 的详细名称中的方法 _() 吗?docs.djangoproject.com/en/1.4/ref/models/options/#verbose-name
-
是的,当然!模型的所有元值和字段值都包含在 _() 中。
-
什么版本的django?也许如果你在 gtalk 中添加我,我们可以更快地解决这个问题:diegueus9 at gmail dot com
-
我的解决方案是使用 ugettext_lazy 而不是 ugettext
标签: django internationalization nginx django-admin fastcgi