﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
17569	i18n_patterns and set_language	anonymous	nobody	"Hi,

I wrote some code to set language with support for i18n_patterns.

{{{

from urlparse import urlparse

from django import http
from django.conf import settings
from django.utils import translation
from django.core.urlresolvers import resolve, reverse
from django.utils.translation import check_for_language

def set_language(request):
    next = request.REQUEST.get('next', None)
    if not next:
        next = request.META.get('HTTP_REFERER', None)
    if not next:
        next = '/'

    url = urlparse(next)

    try:
        r = resolve(url.path)
    except:
        next = '/'

    response = http.HttpResponseRedirect(next)
    lang_code = request.GET.get('language', None)

    if lang_code and check_for_language(lang_code):
        translation.activate(lang_code)
        try:
            next = reverse('%s:%s' % (r.namespace, r.url_name), args=r.args, kwargs=r.kwargs)
        except:
            pass
        else:
            response = http.HttpResponseRedirect(next)
        translation.deactivate()

        if hasattr(request, 'session'):
            request.session['django_language'] = lang_code
        else:
            response.set_cookie(settings.LANGUAGE_COOKIE_NAME, lang_code)

    return response

}}}
"	New feature	closed	Uncategorized	1.4-alpha-1	Normal	duplicate	i18n_patterns, set_language		Unreviewed	0	1	1	0	0	0
