【发布时间】:2013-07-26 14:49:49
【问题描述】:
我有一个英文网站,想添加俄文。 设置.py
LANGUAGE_CODE = 'zh'
语言 = ( ('en', ('English')), ('ru', ('俄语')), )
MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', # 取消注释下一行以获得简单的点击劫持保护: # 'django.middleware.clickjacking.XFrameOptionsMiddleware', )
urls.py
url(r'^i18n/', 包含('django.conf.urls.i18n')),
简单形式的 grom django 文档
> <form action="/i18n/setlang/" method="post" id="language-select">
> <input name="next" type="hidden" value="/" />
> {% csrf_token %}
> <select name="language">
> {% for lang in LANGUAGES %}
> <option value="{{ lang.0 }}">{{ lang.1 }}</option>
> {% endfor %}
> </select>
> <input type="submit" value="Go" /> </form>
我安装 gettext,添加“locale”文件夹(在项目文件夹中,靠近 manage.py)。使用 .po 文件创建“ru 文件夹”并添加一些翻译。但是在更改语言后,它会返回 [26/Jul/2013 13:43:32] "POST /i18n/setlang/ HTTP/1.1" 302 0 并重定向到英文页面。这里有什么问题?
【问题讨论】:
-
你在 settings.py - USE_I18N=True ?
-
是的,USE_I18N = True,USE_L10N = True
-
你在 locale/ru/ 中也有 .mo 文件吗?
标签: django internationalization locale