Could you just ignore that I've ever sent this mail? Apparently, I
wasn't able to finde translation.override in the docs.

Sorry for the noise.

Am Tue, 20 Sep 2016 14:11:11 +0200
schrieb Raphael Michel <>:

> Hi,
> in my application, I regularly need to switch the active language for
> a short period of time. A popular example would be that a
> German-speaking user does something and I need to send out a
> notification to an English-speaking user.
> Cluttering the code with translation.activate() statements is
> certainly not making the core more readable, which is why I'm now
> using a context manager:
>     with language(other_user.locale):
>         send_mail()
> language() is currently implemented in my project like this:
>     @contextmanager
>     def language(lng):
>         _lng = translation.get_language()
>         translation.activate(lng or settings.LANGUAGE_CODE)
>         try:
>             yield
>         finally:
>             translation.activate(_lng)
> This turned out to be very convenient and readable and I'd wanted to
> ask for your opinion if 
> (a) something like this should be added to django
> (b) the activate() method itself should be changed to optionally work
> as a context manager
> Cheers
> Raphael

You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To post to this group, send email to
Visit this group at
To view this discussion on the web visit
For more options, visit

Attachment: pgpMEgAif2NZY.pgp
Description: Digitale Signatur von OpenPGP

Reply via email to