我正在尝试在我的项目上实现国际化,但这些页面只能使用settings.LANGUAGE_CODE
中的语言进行翻译。
正确设置了用户会话中django_language
的值,请求标头META[HTTP_ACCEPT_LANGUAGE]
也是如此,但模板仍然使用LANGUAGE_CODE
中的值进行呈现。
我必须在观看中使用translation.activate(request.session['django_language'])
才能以正确的语言翻译网页。
有没有办法使用translation.activate
翻译没有的网页?
有关信息:
pt-br
,这是默认的LANGUAGES
设置。pt-br
设置为LANGUAGE_CODE
页面已翻译。en-us
。我settings.py
上的语言环境变量:
LOCALEURL_USE_ACCEPT_LANGUAGE = True
LOCALE_PATHS = (
os.path.join(PROJECT_PATH, 'locale/'),
os.path.join(PROJECT_PATH, '/'),
)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.i18n",
'django.core.context_processors.request',
)
LANGUAGE_CODE = 'en-us'
USE_I18N = True
USE_L10N = True
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
答案 0 :(得分:1)
您需要从您的观看次数RequestContext
发送context_instance
:
return render_to_response('hello.html',
context_instance=RequestContext(request))