Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[py3] Stopped attempting to translate bytes.

That goes actively against the goal of cleaning string handling.
  • Loading branch information...
commit 85e7a5e140104e7402ba51c313c9e53cb60d96f2 1 parent 2284419
@aaugustin aaugustin authored
View
6 django/utils/translation/__init__.py
@@ -79,10 +79,10 @@ def pgettext(context, message):
def npgettext(context, singular, plural, number):
return _trans.npgettext(context, singular, plural, number)
-ngettext_lazy = lazy(ngettext, bytes)
-gettext_lazy = lazy(gettext, bytes)
-ungettext_lazy = lazy(ungettext, six.text_type)
+gettext_lazy = lazy(gettext, str)
+ngettext_lazy = lazy(ngettext, str)
ugettext_lazy = lazy(ugettext, six.text_type)
+ungettext_lazy = lazy(ungettext, six.text_type)
pgettext_lazy = lazy(pgettext, six.text_type)
npgettext_lazy = lazy(npgettext, six.text_type)
View
11 django/utils/translation/trans_real.py
@@ -259,6 +259,11 @@ def do_translate(message, translation_function):
return result
def gettext(message):
+ """
+ Returns a string of the translation of the message.
+
+ Returns a string on Python 3 and an UTF-8-encoded bytestring on Python 2.
+ """
return do_translate(message, 'gettext')
if six.PY3:
@@ -296,8 +301,10 @@ def do_ntranslate(singular, plural, number, translation_function):
def ngettext(singular, plural, number):
"""
- Returns a UTF-8 bytestring of the translation of either the singular or
- plural, based on the number.
+ Returns a string of the translation of either the singular or plural,
+ based on the number.
+
+ Returns a string on Python 3 and an UTF-8-encoded bytestring on Python 2.
"""
return do_ntranslate(singular, plural, number, 'ngettext')
View
2  tests/regressiontests/i18n/tests.py
@@ -232,7 +232,7 @@ def test_safe_status(self):
"""
Translating a string requiring no auto-escaping shouldn't change the "safe" status.
"""
- s = mark_safe(b'Password')
+ s = mark_safe(str('Password'))
self.assertEqual(SafeString, type(s))
with translation.override('de', deactivate=True):
self.assertEqual(SafeUnicode, type(ugettext(s)))
Please sign in to comment.
Something went wrong with that request. Please try again.