Commit 127506ae authored by Jannis Leidel's avatar Jannis Leidel
Browse files

Fixed #11966 -- Made it possible to use a percent sign in a translation...

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

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14459 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 6feef0c1
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -463,10 +463,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)
+11 −0
Original line number Diff line number Diff line
@@ -38,6 +38,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
+3 −1
Original line number Diff line number Diff line
{% load i18n %}
{% trans "This literal should be included." %}
{% trans "This literal should also be included wrapped or not wrapped depending on the use of the --no-wrap option." %}
{% 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 %}
 No newline at end of file