1
0
mirror of https://github.com/django/django.git synced 2025-07-04 09:49:12 +00:00

[1.2.X] Fixed #11966 -- Made it possible to use a percent sign in a translation message id. Thanks for the patch, Claude Paroz.

Backport from trunk (r14459).

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14460 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jannis Leidel 2010-11-04 14:15:16 +00:00
parent fca56e8450
commit 85f4dd6353
3 changed files with 17 additions and 3 deletions

View File

@ -439,10 +439,11 @@ def templatize(src):
else:
singular.append('%%(%s)s' % t.contents)
elif t.token_type == TOKEN_TEXT:
contents = t.contents.replace('%', '%%')
if inplural:
plural.append(t.contents)
plural.append(contents)
else:
singular.append(t.contents)
singular.append(contents)
else:
if t.token_type == TOKEN_BLOCK:
imatch = inline_re.match(t.contents)

View File

@ -34,6 +34,17 @@ class ExtractorTests(TestCase):
return self.assert_(not re.search('^msgid "%s"' % msgid, s, re.MULTILINE))
class TemplateExtractorTests(ExtractorTests):
def test_templatize(self):
os.chdir(self.test_dir)
management.call_command('makemessages', locale=LOCALE, verbosity=0)
self.assert_(os.path.exists(self.PO_FILE))
po_contents = open(self.PO_FILE, 'r').read()
self.assertMsgId('I think that 100%% is more that 50%% of anything.', po_contents)
self.assertMsgId('I think that 100%% is more that 50%% of %\(obj\)s.', po_contents)
class JavascriptExtractorTests(ExtractorTests):
PO_FILE='locale/%s/LC_MESSAGES/djangojs.po' % LOCALE

View File

@ -1,2 +1,4 @@
{% load i18n %}
{% trans "This literal should be included." %}
{% trans "This literal should be included." %}
{% blocktrans %}I think that 100% is more that 50% of anything.{% endblocktrans %}
{% blocktrans with 'txt' as obj %}I think that 100% is more that 50% of {{ obj }}.{% endblocktrans %}