summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2010-10-16 20:51:06 +0000
committerJannis Leidel <jannis@leidel.info>2010-10-16 20:51:06 +0000
commit11713a8771221767f31718ef6406d276b435b9b0 (patch)
treeb6a7aea4f58097cd6e01d5a3d415eb78f0d5709c
parent386b6811050009337bf0eb11512c7bbf339805ff (diff)
[1.2.X] Fixed #14126 -- Fixed an issue with changes to the blocktrans tag introduced in r13973 related to multiple plural forms. Thanks, mark0978, svetlyak40wt and Ramiro.
Backport from trunk (r14239). git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14240 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/templatetags/i18n.py3
-rw-r--r--tests/regressiontests/templates/tests.py3
2 files changed, 4 insertions, 2 deletions
diff --git a/django/templatetags/i18n.py b/django/templatetags/i18n.py
index c4dd2e7835..c0e360b751 100644
--- a/django/templatetags/i18n.py
+++ b/django/templatetags/i18n.py
@@ -78,8 +78,7 @@ class BlockTranslateNode(Node):
context[self.countervar] = count
plural, plural_vars = self.render_token_list(self.plural)
result = translation.ungettext(singular, plural, count)
- if count != 1:
- vars = plural_vars
+ vars.extend(plural_vars)
else:
result = translation.ugettext(singular)
# Escape all isolated '%' before substituting in the context.
diff --git a/tests/regressiontests/templates/tests.py b/tests/regressiontests/templates/tests.py
index 9e2d175677..cea42224dd 100644
--- a/tests/regressiontests/templates/tests.py
+++ b/tests/regressiontests/templates/tests.py
@@ -1119,6 +1119,9 @@ class Templates(unittest.TestCase):
# translation of plural form with extra field in singular form (#13568)
'i18n26': ('{% load i18n %}{% blocktrans with myextra_field as extra_field count number as counter %}singular {{ extra_field }}{% plural %}plural{% endblocktrans %}', {'number': 1, 'myextra_field': 'test'}, "singular test"),
+ # translation of singular form in russian (#14126)
+ 'i18n27': ('{% load i18n %}{% blocktrans count number as counter %}1 result{% plural %}{{ counter }} results{% endblocktrans %}', {'number': 1, 'LANGUAGE_CODE': 'ru'}, u'1 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442'),
+
### HANDLING OF TEMPLATE_STRING_IF_INVALID ###################################
'invalidstr01': ('{{ var|default:"Foo" }}', {}, ('Foo','INVALID')),