aboutsummaryrefslogtreecommitdiff
path: root/middleware/i18nmiddleware.py
blob: 7e2c8eba4be1686a6b3ce8a6d2bddeab185198b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from django.utils.translation import activate
from django.utils.deprecation import MiddlewareMixin


class I18NMiddleware(MiddlewareMixin):
    def process_request(self, request):
        language = request.COOKIES.get("site_language") or "en"
        activate(language)
        request.LANGUAGE_CODE = language
        request.ALT_LANGUAGE = "ja" if language == "en" else "en"

    def process_response(self, request, response):
        if not request.COOKIES.get("site_language"):
            response.set_cookie("site_language", "en")
        return response