【问题标题】:How can I add a translation template-tag inside another template-tag in Django?如何在 Django 的另一个模板标签中添加翻译模板标签?
【发布时间】:2014-02-12 22:14:07
【问题描述】:

这是我的模板代码:

{{ can_edit|yesno:'Allow edit,View Only' }}

但我想从我的翻译字符串中自动翻译它,所以我这样做了:

{{ can_edit|yesno:'{% trans "option_allow_edit" %},{% trans "option_allow_edit" %}' }}

但它不起作用,因为它转义了{% trans %}标签。

我该怎么做?

【问题讨论】:

    标签: django templates tags translation


    【解决方案1】:

    您应该尝试使用blocktrans template tag.

    {% blocktrans with editable=can_edit|yesno:'Allow edit,View Only' %}
        {{ editable }}
    {% endblocktrans %}
    

    【讨论】:

      【解决方案2】:

      您可以使用_() 语法。

      这是来自Django documentation 的示例:

      {% some_tag _("Page not found") value|yesno:_("yes,no") %
      

      所以在你的情况下你可以这样做:

      {{ can_edit|yesno:_('Allow edit,View Only') }}
      

      【讨论】:

        猜你喜欢
        • 2016-10-22
        • 2013-11-21
        • 1970-01-01
        • 2014-03-20
        • 2010-09-20
        • 2022-11-25
        • 1970-01-01
        • 2011-02-09
        • 2020-01-25
        相关资源
        最近更新 更多