Refs #27067 -- Removed django.utils.translation.string_concat() per deprecation timeline.

This commit is contained in:
Tim Graham 2017-09-02 19:54:21 -04:00
parent 9463a7a8cd
commit 87d2240e6c
4 changed files with 5 additions and 37 deletions

View File

@ -2,10 +2,8 @@
Internationalization support. Internationalization support.
""" """
import re import re
import warnings
from contextlib import ContextDecorator from contextlib import ContextDecorator
from django.utils.deprecation import RemovedInDjango21Warning
from django.utils.functional import lazy from django.utils.functional import lazy
__all__ = [ __all__ = [
@ -216,21 +214,6 @@ def deactivate_all():
return _trans.deactivate_all() return _trans.deactivate_all()
def _string_concat(*strings):
"""
Lazy variant of string concatenation, needed for translations that are
constructed from multiple parts.
"""
warnings.warn(
'django.utils.translate.string_concat() is deprecated in '
'favor of django.utils.text.format_lazy().',
RemovedInDjango21Warning, stacklevel=2)
return ''.join(str(s) for s in strings)
string_concat = lazy(_string_concat, str)
def get_language_info(lang_code): def get_language_info(lang_code):
from django.conf.locale import LANG_INFO from django.conf.locale import LANG_INFO
try: try:

View File

@ -1057,17 +1057,6 @@ functions without the ``u``.
See :ref:`lazy translations documentation <lazy-translations>`. See :ref:`lazy translations documentation <lazy-translations>`.
.. function:: string_concat(*strings)
.. deprecated:: 1.11
Use :meth:`django.utils.text.format_lazy` instead.
``string_concat(*strings)`` can be replaced by
``format_lazy('{}' * len(strings), *strings)``.
Lazy variant of string concatenation, needed for translations that are
constructed from multiple parts.
.. function:: activate(language) .. function:: activate(language)
Fetches the translation object for a given language and activates it as Fetches the translation object for a given language and activates it as

View File

@ -234,3 +234,5 @@ how to remove usage of these features.
is removed. is removed.
* ``django.test.runner.setup_databases()`` is removed. * ``django.test.runner.setup_databases()`` is removed.
* ``django.utils.translation.string_concat()`` is removed.

View File

@ -12,11 +12,9 @@ from django.conf import settings
from django.conf.urls.i18n import i18n_patterns from django.conf.urls.i18n import i18n_patterns
from django.template import Context, Template from django.template import Context, Template
from django.test import ( from django.test import (
RequestFactory, SimpleTestCase, TestCase, ignore_warnings, RequestFactory, SimpleTestCase, TestCase, override_settings,
override_settings,
) )
from django.utils import translation from django.utils import translation
from django.utils.deprecation import RemovedInDjango21Warning
from django.utils.formats import ( from django.utils.formats import (
date_format, get_format, get_format_modules, iter_format_modules, localize, date_format, get_format, get_format_modules, iter_format_modules, localize,
localize_input, reset_format_cache, sanitize_separators, time_format, localize_input, reset_format_cache, sanitize_separators, time_format,
@ -27,8 +25,8 @@ from django.utils.translation import (
LANGUAGE_SESSION_KEY, activate, check_for_language, deactivate, LANGUAGE_SESSION_KEY, activate, check_for_language, deactivate,
get_language, get_language_bidi, get_language_from_request, get_language, get_language_bidi, get_language_from_request,
get_language_info, gettext, gettext_lazy, ngettext, ngettext_lazy, get_language_info, gettext, gettext_lazy, ngettext, ngettext_lazy,
npgettext, npgettext_lazy, pgettext, string_concat, to_locale, trans_real, npgettext, npgettext_lazy, pgettext, to_locale, trans_real, ugettext,
ugettext, ugettext_lazy, ungettext, ungettext_lazy, ugettext_lazy, ungettext, ungettext_lazy,
) )
from .forms import CompanyForm, I18nForm, SelectDateForm from .forms import CompanyForm, I18nForm, SelectDateForm
@ -216,10 +214,6 @@ class TranslationTests(SimpleTestCase):
self.assertEqual(pgettext("verb", "May"), "Kann") self.assertEqual(pgettext("verb", "May"), "Kann")
self.assertEqual(npgettext("search", "%d result", "%d results", 4) % 4, "4 Resultate") self.assertEqual(npgettext("search", "%d result", "%d results", 4) % 4, "4 Resultate")
@ignore_warnings(category=RemovedInDjango21Warning)
def test_string_concat(self):
self.assertEqual(str(string_concat('dja', 'ngo')), 'django')
def test_empty_value(self): def test_empty_value(self):
"""Empty value must stay empty after being translated (#23196).""" """Empty value must stay empty after being translated (#23196)."""
with translation.override('de'): with translation.override('de'):