Fixed #14126 -- Fixed an issue with changes to the blocktrans tag introduced in r13967 related to multiple plural forms. Thanks, mark0978, svetlyak40wt and Ramiro.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14239 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jannis Leidel 2010-10-16 20:40:17 +00:00
parent 58e3849ec3
commit d931f43b70
2 changed files with 4 additions and 2 deletions

View File

@ -78,8 +78,7 @@ class BlockTranslateNode(Node):
context[self.countervar] = count context[self.countervar] = count
plural, plural_vars = self.render_token_list(self.plural) plural, plural_vars = self.render_token_list(self.plural)
result = translation.ungettext(singular, plural, count) result = translation.ungettext(singular, plural, count)
if count != 1: vars.extend(plural_vars)
vars = plural_vars
else: else:
result = translation.ugettext(singular) result = translation.ugettext(singular)
# Escape all isolated '%' before substituting in the context. # Escape all isolated '%' before substituting in the context.

View File

@ -1119,6 +1119,9 @@ class Templates(unittest.TestCase):
# translation of plural form with extra field in singular form (#13568) # 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"), '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 ################################### ### HANDLING OF TEMPLATE_STRING_IF_INVALID ###################################
'invalidstr01': ('{{ var|default:"Foo" }}', {}, ('Foo','INVALID')), 'invalidstr01': ('{{ var|default:"Foo" }}', {}, ('Foo','INVALID')),