【问题标题】:Django admin shows wrong translationDjango 管理员显示错误的翻译
【发布时间】:2012-05-06 18:56:13
【问题描述】:

问题很奇怪。一半的管理员铭文被翻译成错误的语言。我在我的项目中使用 ruen 语言。网站以正确的语言呈现,但在同一个浏览器中,管理员会出现,如图所示:

我的应用中有 locale 文件夹,其中包含 enru 语言环境,.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


【解决方案1】:

确保你有

fastcgi_pass_header "Accept-Language";

在你的 nginx 配置文件中。

【讨论】:

  • 他已经翻译了内置应用程序。
  • 我的应用程序的公共部分可以在 nginx 下翻译。仅管理部分的问题。
猜你喜欢
  • 2013-01-02
  • 1970-01-01
  • 2011-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
  • 1970-01-01
相关资源
最近更新 更多