[1.6.x] Made the doc about translating string literals in templates more prominent.

Backport of 9885f07757 from master
This commit is contained in:
Loic Bistuer 2013-08-31 18:55:45 +07:00 committed by Tim Graham
parent 68ae9f39b7
commit 64383e8349
1 changed files with 19 additions and 17 deletions

View File

@ -674,6 +674,25 @@ markers<contextual-markers>` using the ``context`` keyword:
{% blocktrans with name=user.username context "greeting" %}Hi {{ name }}{% endblocktrans %}
String literals passed to tags and filters
------------------------------------------
You can translate string literals passed as arguments to tags and filters
by using the familiar ``_()`` syntax::
{% some_tag _("Page not found") value|yesno:_("yes,no") %}
In this case, both the tag and the filter will see the translated string,
so they don't need to be aware of translations.
.. note::
In this example, the translation infrastructure will be passed the string
``"yes,no"``, not the individual strings ``"yes"`` and ``"no"``. The
translated string will need to contain the comma so that the filter
parsing code knows how to split up the arguments. For example, a German
translator might translate the string ``"yes,no"`` as ``"ja,nein"``
(keeping the comma intact).
.. _translator-comments-in-templates:
Comments for translators in templates
@ -783,23 +802,6 @@ three tags::
These tags also require a ``{% load i18n %}``.
Translation hooks are also available within any template block tag that accepts
constant strings. In those cases, just use ``_()`` syntax to specify a
translation string::
{% some_special_tag _("Page not found") value|yesno:_("yes,no") %}
In this case, both the tag and the filter will see the already-translated
string, so they don't need to be aware of translations.
.. note::
In this example, the translation infrastructure will be passed the string
``"yes,no"``, not the individual strings ``"yes"`` and ``"no"``. The
translated string will need to contain the comma so that the filter
parsing code knows how to split up the arguments. For example, a German
translator might translate the string ``"yes,no"`` as ``"ja,nein"``
(keeping the comma intact).
You can also retrieve information about any of the available languages using
provided template tags and filters. To get information about a single language,
use the ``{% get_language_info %}`` tag::