summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/releases/1.6.txt20
-rw-r--r--docs/topics/i18n/translation.txt75
-rw-r--r--docs/topics/templates.txt2
3 files changed, 92 insertions, 5 deletions
diff --git a/docs/releases/1.6.txt b/docs/releases/1.6.txt
index e0c07c40fe..79fa3ffb86 100644
--- a/docs/releases/1.6.txt
+++ b/docs/releases/1.6.txt
@@ -47,6 +47,26 @@ Backwards incompatible changes in 1.6
should review it as ``type='text'`` widgets might be now output as
``type='email'`` or ``type='url'`` depending on their corresponding field type.
+* Extraction of translatable literals from templates with the
+ :djadmin:`makemessages` command now correctly detects i18n constructs when
+ they are located after a ``{#`` / ``#}``-type comment on the same line. E.g.:
+
+ .. code-block:: html+django
+
+ {# A comment #}{% trans "This literal was incorrectly ignored. Not anymore" %}
+
+* (Related to the above item.) Validation of the placement of
+ :ref:`translator-comments-in-templates` specified using ``{#`` / ``#}`` is now
+ stricter. All translator comments not located at the end of their respective
+ lines in a template are ignored and a warning is generated by
+ :djadmin:`makemessages` when it finds them. E.g.:
+
+ .. code-block:: html+django
+
+ {# Translators: This is ignored #}{% trans "Translate me" %}
+ {{ title }}{# Translators: Extracted and associated with 'Welcome' below #}
+ <h1>{% trans "Welcome" %}</h1>
+
.. warning::
In addition to the changes outlined in this section, be sure to review the
diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt
index 01f168bc10..3cf08e7ddf 100644
--- a/docs/topics/i18n/translation.txt
+++ b/docs/topics/i18n/translation.txt
@@ -142,14 +142,22 @@ preceding the string, e.g.::
# Translators: This message appears on the home page only
output = ugettext("Welcome to my site.")
-This also works in templates with the :ttag:`comment` tag:
+The comment will then appear in the resulting ``.po`` file associated with the
+translatable contruct located below it and should also be displayed by most
+translation tools.
-.. code-block:: html+django
+.. note:: Just for completeness, this is the corresponding fragment of the
+ resulting ``.po`` file:
+
+ .. code-block:: po
- {% comment %}Translators: This is a text of the base template {% endcomment %}
+ #. Translators: This message appears on the home page only
+ # path/to/python/file.py:123
+ msgid "Welcome to my site."
+ msgstr ""
-The comment will then appear in the resulting ``.po`` file and should also be
-displayed by most translation tools.
+This also works in templates. See :ref:`translator-comments-in-templates` for
+more details.
Marking strings as no-op
------------------------
@@ -620,6 +628,63 @@ markers<contextual-markers>` using the ``context`` keyword:
{% blocktrans with name=user.username context "greeting" %}Hi {{ name }}{% endblocktrans %}
+.. _translator-comments-in-templates:
+
+Comments for translators in templates
+-------------------------------------
+
+Just like with :ref:`Python code <translator-comments>`, these notes for
+translators can be specified using comments, either with the :ttag:`comment`
+tag:
+
+.. code-block:: html+django
+
+ {% comment %}Translators: View verb{% endcomment %}
+ {% trans "View" %}
+
+ {% comment %}Translators: Short intro blurb{% endcomment %}
+ <p>{% blocktrans %}A multiline translatable
+ literal.{% endblocktrans %}</p>
+
+or with the ``{#`` ... ``#}`` :ref:`one-line comment constructs <template-comments>`:
+
+.. code-block:: html+django
+
+ {# Translators: Label of a button that triggers search{% endcomment #}
+ <button type="submit">{% trans "Go" %}</button>
+
+ {# Translators: This is a text of the base template #}
+ {% blocktrans %}Ambiguous translatable block of text{% endtransblock %}
+
+.. note:: Just for completeness, these are the corresponding fragments of the
+ resulting ``.po`` file:
+
+ .. code-block:: po
+
+ #. Translators: View verb
+ # path/to/template/file.html:10
+ msgid "View"
+ msgstr ""
+
+ #. Translators: Short intro blurb
+ # path/to/template/file.html:13
+ msgid ""
+ "A multiline translatable"
+ "literal."
+ msgstr ""
+
+ # ...
+
+ #. Translators: Label of a button that triggers search
+ # path/to/template/file.html:100
+ msgid "Go"
+ msgstr ""
+
+ #. Translators:
+ # path/to/template/file.html:103
+ msgid "Ambiguous translatable block of text"
+ msgstr ""
+
.. _template-translation-vars:
Other tags
diff --git a/docs/topics/templates.txt b/docs/topics/templates.txt
index fb2119515b..58a3ee9870 100644
--- a/docs/topics/templates.txt
+++ b/docs/topics/templates.txt
@@ -250,6 +250,8 @@ You can also create your own custom template tags; see
tags and filters available for a given site. See
:doc:`/ref/contrib/admin/admindocs`.
+.. _template-comments:
+
Comments
========