You can pass the latest language_code in the url and set that to the session >>>Is there a way to retrieve the latest language used in the user session?
cheers *Laxmikant* On Wed, Oct 10, 2012 at 9:14 PM, Bastian <[email protected]> wrote: > Ok this is all very clear now, and the docs are quite helpful too ( > https://docs.djangoproject.com/en/dev/topics/i18n/translation/#using-translations-outside-views-and-templates > ). > But now I wonder what is the best way to implement that? > I mean in my case I use Django to automatically discover the user's > preferred language according to the browser preferences and if it fails > there is also a button to choose the language. I can link that button to a > field in the user profile model to remember what language they set for > later use with translation.activate. But in case Django displays the right > language for the user automatically that field will remain empty and that > would be pretty counter intuitive for the user to set their preferred > language with a button when it is already displayed correctly. What would > be the right thing to do in that case? Is there a way to retrieve the > latest language used in the user session? Or something similar? Thanks! > > > > On Friday, October 5, 2012 12:19:38 PM UTC+2, Tom Evans wrote: > >> On Fri, Oct 5, 2012 at 10:12 AM, Bastian <[email protected]> wrote: >> > Hi, >> > >> > I understand quite well how translations and i18n work inside a browser >> for >> > Django but I'm not sure about the correct way to do it outside a >> browser. I >> > mean when sending a mail or a tweet. What should I use to get the >> language >> > of the user that is going to receive the mail or in case of a tweet the >> > language of the user that I will send it on behalf of. And then how do >> I ask >> > Django to translate that? >> > I could not find it in the docs, if it exists please point me to it. >> > >> > Cheers >> > >> >> You will need to have a mechanism for storing what the user's chosen >> language is. Once you have that, simply do this: >> >> from django.utils import translation >> >> cur_language = translation.get_language() >> translation.activate(get_lang_**for_user(user)) >> # send email, tweet, etc >> translation.activate(cur_**language) >> >> You would need to define the 'get_lang_for_user' function. >> >> Cheers >> >> Tom >> > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/django-users/-/0MvHhF60bBIJ. > > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > -- * GlxGuru * -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

