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.
"""
import re
import warnings
from contextlib import ContextDecorator
from django.utils.deprecation import RemovedInDjango21Warning
from django.utils.functional import lazy
__all__ = [
@ -216,21 +214,6 @@ def 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):
from django.conf.locale import LANG_INFO
try:

View File

@ -1057,17 +1057,6 @@ functions without the ``u``.
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)
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.
* ``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.template import Context, Template
from django.test import (
RequestFactory, SimpleTestCase, TestCase, ignore_warnings,
override_settings,
RequestFactory, SimpleTestCase, TestCase, override_settings,
)
from django.utils import translation
from django.utils.deprecation import RemovedInDjango21Warning
from django.utils.formats import (
date_format, get_format, get_format_modules, iter_format_modules, localize,
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,
get_language, get_language_bidi, get_language_from_request,
get_language_info, gettext, gettext_lazy, ngettext, ngettext_lazy,
npgettext, npgettext_lazy, pgettext, string_concat, to_locale, trans_real,
ugettext, ugettext_lazy, ungettext, ungettext_lazy,
npgettext, npgettext_lazy, pgettext, to_locale, trans_real, ugettext,
ugettext_lazy, ungettext, ungettext_lazy,
)
from .forms import CompanyForm, I18nForm, SelectDateForm
@ -216,10 +214,6 @@ class TranslationTests(SimpleTestCase):
self.assertEqual(pgettext("verb", "May"), "Kann")
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):
"""Empty value must stay empty after being translated (#23196)."""
with translation.override('de'):