From cf34ee68f0d70cfbcba40524b5d1086ad94874e1 Mon Sep 17 00:00:00 2001 From: Dmitry Medvinsky Date: Wed, 29 Apr 2015 20:43:54 +0300 Subject: [PATCH] Added translation.override() context manager to docs. --- docs/topics/i18n/translation.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt index 89b9250add..354905ab78 100644 --- a/docs/topics/i18n/translation.txt +++ b/docs/topics/i18n/translation.txt @@ -1756,6 +1756,7 @@ will affect code running in the same thread. For example:: from django.utils import translation + def welcome_translated(language): cur_language = translation.get_language() try: @@ -1774,6 +1775,16 @@ which returns the language used in the current thread, for the current thread, and ``django.utils.translation.check_for_language()`` which checks if the given language is supported by Django. +To help write more concise code, there is also a context manager +``django.utils.translation.override()`` that stores the current language on +enter and restores it on exit. With it, the above example becomes:: + + from django.utils import tranlations + + def welcome_translated(language): + with translation.override(language): + return translation.ugettext('welcome') + Language cookie ---------------