Django翻译templatetag字符串参数

时间:2012-08-14 15:57:45

标签: django gettext django-templates

是否有一个简单的解决方案来标记inclusion_tag(或一般的模板标签)的字符串参数以进行翻译?在这个例子中,我想标记第二个翻译参数:

{% render_tile_section qs "Foo" %}

使用像这样的包含标签显然不起作用:

from django.utils.translation import ugettext_lazy as _

@register.inclusion_tag('content/includes/tile_section.html')
def render_tile_section(qs, headline=''):
    return {'qs': qs,
            'headline': u'%s' % _(headline) if headline else ''}

我的第一个想法是将inclusion_tag子类化,并使其像字符串参数的trans标记一样工作。但据我所知,Django的makemessages命令只会评估模板中的transblocktrans,或者我有办法扩展它吗?还有其他想法吗?

1 个答案:

答案 0 :(得分:5)

该功能已内置于Django的模板标签中。完全错过了docs

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