4

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

{% render_tile_section qs "Foo" %}

使用这样的inclusion_tag 显然是行不通的:

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或者我有办法扩展它吗?还有其他想法吗?

4

1 回答 1

7

该功能已经内置到 Django 的模板标签中。在文档中完全错过了这一点:

{% some_special_tag _("Page not found") value|yesno:_("yes,no") %}
于 2012-08-28T10:31:36.157 回答