Opened 13 years ago

Last modified 4 years ago

#15902 closed Cleanup/optimization

Storing current language in session/cookie — at Initial Version

Reported by: msiedlarek Owned by: msiedlarek
Component: Internationalization Version: dev
Severity: Normal Keywords: language i18n session cookie
Cc: msiedlarek, raymond.penners@…, vlastimil.zima@… Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Related discussion

http://groups.google.com/d/topic/django-developers/8THmJSioj4U/discussion

Problem summary

I'd like to make a proposal of changing the way that current language is stored, at least, making this changeable by settings.
The problem is that even for non-logged users their language is stored in session (if it's supported or in the cookie otherwise).
That creates a session for every client, which makes serving static (ofc I mean static, but not media) content through an upstream
cache (such as Squid) really inefficient. I suppose selected language is not that secret to protect it by storing in session,
and cookie is just ok. For cookie-varying cache it's a huge difference.

Solution proposal

There is a setting named LANGUAGE_COOKIE_NAME which never gets used if 
you use session based cookies. The file cookie is just never saved. 
But if there were an option to save data in the session and also save 
the LANGUAGE_COOKIE as a file separately - then it would also persist 
after logout and solve the issue with languages after the session gets 
destroyed. 

(...)

I would propose to have the set_language() view with options to set it 
as a file based cookie or a session. 

(...)

It would allow the language file based cookie to have a very long 
expire date and the session would still be usable for storing secure 
data.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top