小编Tar*_*ras的帖子

Django:i18n - 改变语言

我正在安装model_translation,rosetta,locale_url.但是不起作用改变语言.

我的settings.py:

LANGUAGE_CODE = 'ru'
MODELTRANSLATION_TRANSLATION_REGISTRY = "project.translation"
TRANSLATION_REGISTRY = "project.translation"
ugettext = lambda s: s
LANGUAGES = (
    ('ru', ugettext(u'Russian')),
    ('uk', ugettext(u'Ukrainian')),
)
Run Code Online (Sandbox Code Playgroud)

我对语言切换的看法:

def set_language(request):
    next = request.REQUEST.get('next', None)
    if not next:
        next = request.META.get('HTTP_REFERER', None)
    if not next:
        next = '/'
    response = http.HttpResponseRedirect(next)
    if request.method == 'GET':
        lang_code = request.GET.get('language', None)
        if lang_code and check_for_language(lang_code):
            if hasattr(request, 'session'):
                request.session['django_language'] = lang_code
            else:
                response.set_cookie(settings.LANGUAGE_COOKIE_NAME, lang_code)
    return response
Run Code Online (Sandbox Code Playgroud)

在模板中:

<a href="{% url set_lang %}?lang=uk&next={{request.path}}">Ukranian</a>
Run Code Online (Sandbox Code Playgroud)

我的中间件:

MIDDLEWARE_CLASSES = ( …
Run Code Online (Sandbox Code Playgroud)

django internationalization

11
推荐指数
2
解决办法
2万
查看次数

标签 统计

django ×1

internationalization ×1