summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2010-12-04 07:44:00 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2010-12-04 07:44:00 +0000
commitac91d5ef086f466c27e77157c67fe4f1df9b7557 (patch)
tree8a46159ac4c42e134450a02dff49a7fe5e84033d
parent5bc0ec4ec4b7c888a291bc81b2edd72812231d96 (diff)
Fixed #14807 -- Ensure that boolean values aren't localized as T.rue and Fa.lse because of the thousand separator. Thanks to vanschelven for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14804 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/utils/formats.py5
-rw-r--r--tests/regressiontests/i18n/tests.py1
2 files changed, 5 insertions, 1 deletions
diff --git a/django/utils/formats.py b/django/utils/formats.py
index 18fcbb600f..c23a37cb2b 100644
--- a/django/utils/formats.py
+++ b/django/utils/formats.py
@@ -6,6 +6,7 @@ from django.utils.translation import get_language, to_locale, check_for_language
from django.utils.importlib import import_module
from django.utils.encoding import smart_str
from django.utils import dateformat, numberformat, datetime_safe
+from django.utils.safestring import mark_safe
# format_cache is a mapping from (format_type, lang) to the format string.
# By using the cache, it is possible to avoid running get_format_modules
@@ -114,7 +115,9 @@ def localize(value, use_l10n=None):
If use_l10n is provided and is not None, that will force the value to
be localized (or not), overriding the value of settings.USE_L10N.
"""
- if isinstance(value, (decimal.Decimal, float, int, long)):
+ if isinstance(value, bool):
+ return mark_safe(unicode(value))
+ elif isinstance(value, (decimal.Decimal, float, int, long)):
return number_format(value, use_l10n=use_l10n)
elif isinstance(value, datetime.datetime):
return date_format(value, 'DATETIME_FORMAT', use_l10n=use_l10n)
diff --git a/tests/regressiontests/i18n/tests.py b/tests/regressiontests/i18n/tests.py
index 615ffe822c..f552795f06 100644
--- a/tests/regressiontests/i18n/tests.py
+++ b/tests/regressiontests/i18n/tests.py
@@ -268,6 +268,7 @@ class FormattingTests(TestCase):
self.assertEqual(u'66.666,666', localize(self.n))
self.assertEqual(u'99.999,999', localize(self.f))
self.assertEqual(u'10.000', localize(self.l))
+ self.assertEqual(u'True', localize(True))
settings.USE_THOUSAND_SEPARATOR = False
self.assertEqual(u'66666,666', localize(self.n))