Skip to content

Django's builtin i18n support stores the selected language in the session, cooki18n uses cookies instead.

License

Notifications You must be signed in to change notification settings

pennersr/django-cooki18n

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Django's builtin i18n support stores the selected language in the session, cooki18n uses cookies instead.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages