From 9885f077570cad5af48623ad5dff88c3b7425aa8 Mon Sep 17 00:00:00 2001 From: Loic Bistuer Date: Sat, 31 Aug 2013 18:55:45 +0700 Subject: [PATCH] Made the doc about translating string literals in templates more prominent. --- docs/topics/i18n/translation.txt | 36 +++++++++++++++++--------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt index 120db8e5b0..d8c2b49724 100644 --- a/docs/topics/i18n/translation.txt +++ b/docs/topics/i18n/translation.txt @@ -674,6 +674,25 @@ 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::