Skip to content
Django's builtin i18n support stores the selected language in the session, cooki18n uses cookies instead.
Python
Find file
Latest commit f6a7176 @pennersr REQUEST deprecated
Failed to load latest commit information.
cooki18n REQUEST deprecated
AUTHORS Initial version
ChangeLog Initial version
LICENSE Initial version
MANIFEST.in Initial version
README.rst RST fix
requirements.txt Initial version
setup.py Initial version

README.rst

django-cooki18n

Django's builtin i18n support stores the selected language in the session. This approach has the following problems:

  • Sessions are created for anonymous users when they switch language
  • It may lead to caching issues (the pages are set to "Vary-Cookie", but in fact the session cookie does not change when the language switches)

The above is captured in the following Django tickets.

This little project aims to be a drop in replacement for Django's i18n so that you can have the language stored in a cookie, which is in line with what ticket 12794 requests.

Installation

Simply follow the Django i18n instructions. However:

  • Use cooki18n.middleware.LocaleMiddleware instead of django.middleware.locale.LocaleMiddleware
  • Use cooki18n.views.set_language instead of django.views.i18n.set_language
  • Use cooki18n.utils.get_language_from_request instead of django.utils.translation.get_language_from_request
Something went wrong with that request. Please try again.