Loading django/utils/translation/__init__.py +2 −1 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ Internationalization support. """ from __future__ import unicode_literals import re from django.utils.decorators import ContextDecorator from django.utils.encoding import force_text from django.utils.functional import lazy from django.utils import six Loading Loading @@ -149,7 +150,7 @@ def deactivate(): return _trans.deactivate() class override(object): class override(ContextDecorator): def __init__(self, language, deactivate=False): self.language = language self.deactivate = deactivate Loading docs/releases/1.8.txt +5 −0 Original line number Diff line number Diff line Loading @@ -129,6 +129,11 @@ Minor features * ... :mod:``django.utils.translation`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * ``django.utils.translation.override`` is now usable as a function decorator. Cache ^^^^^ Loading tests/i18n/tests.py +19 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,25 @@ class TranslationTests(TestCase): finally: deactivate() def test_override_decorator(self): activate('de') @translation.override('pl') def func_pl(): self.assertEqual(get_language(), 'pl') @translation.override(None) def func_none(): self.assertEqual(get_language(), settings.LANGUAGE_CODE) try: func_pl() self.assertEqual(get_language(), 'de') func_none() self.assertEqual(get_language(), 'de') finally: deactivate() def test_lazy_objects(self): """ Format string interpolation should work with *_lazy objects. Loading Loading
django/utils/translation/__init__.py +2 −1 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ Internationalization support. """ from __future__ import unicode_literals import re from django.utils.decorators import ContextDecorator from django.utils.encoding import force_text from django.utils.functional import lazy from django.utils import six Loading Loading @@ -149,7 +150,7 @@ def deactivate(): return _trans.deactivate() class override(object): class override(ContextDecorator): def __init__(self, language, deactivate=False): self.language = language self.deactivate = deactivate Loading
docs/releases/1.8.txt +5 −0 Original line number Diff line number Diff line Loading @@ -129,6 +129,11 @@ Minor features * ... :mod:``django.utils.translation`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * ``django.utils.translation.override`` is now usable as a function decorator. Cache ^^^^^ Loading
tests/i18n/tests.py +19 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,25 @@ class TranslationTests(TestCase): finally: deactivate() def test_override_decorator(self): activate('de') @translation.override('pl') def func_pl(): self.assertEqual(get_language(), 'pl') @translation.override(None) def func_none(): self.assertEqual(get_language(), settings.LANGUAGE_CODE) try: func_pl() self.assertEqual(get_language(), 'de') func_none() self.assertEqual(get_language(), 'de') finally: deactivate() def test_lazy_objects(self): """ Format string interpolation should work with *_lazy objects. Loading