From b7508896fbe19ec2cdeb81565cd587091b6b68d0 Mon Sep 17 00:00:00 2001 From: Doug Beck Date: Wed, 15 Apr 2015 17:01:11 -0400 Subject: Fixed #24257 -- Corrected i18n handling of percent signs. Refactored tests to use a sample project. Updated extraction: * Removed special handling of single percent signs. * When extracting messages from template text, doubled all percent signs so they are not interpreted by gettext as string format flags. All strings extracted by gettext, if containing a percent sign, will now be labeled "#, python-format". Updated translation: * Used "%%" for "%" in template text before calling gettext. * Updated {% trans %} rendering to restore "%" from "%%". --- docs/releases/1.9.txt | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'docs') diff --git a/docs/releases/1.9.txt b/docs/releases/1.9.txt index 4aab9aa070..f6ff0e6105 100644 --- a/docs/releases/1.9.txt +++ b/docs/releases/1.9.txt @@ -940,6 +940,11 @@ Miscellaneous whitespace by default. This can be disabled by setting the new :attr:`~django.forms.CharField.strip` argument to ``False``. +* Template text that is translated and uses two or more consecutive percent + signs, e.g. ``"%%"``, may have a new `msgid` after ``makemessages`` is run + (most likely the translation will be marked fuzzy). The new ``msgid`` will be + marked ``"#, python-format"``. + * If neither :attr:`request.current_app ` nor :class:`Context.current_app ` are set, the :ttag:`url` template tag will now use the namespace of the current request. -- cgit v1.3