pintext在jinja2 django模板中

时间:2017-12-27 21:19:47

标签: python django jinja2 gettext

我已将Jinja环境配置为env.install_gettext_translations(translation, newstyle=True)jinja2.ext.i18n扩展名。 我只能在jinja2模板中使用_()_gettext()ngettext()函数。

我也希望使用pgettext()django docs)来向可翻译字符串添加上下文。有没有这样的扩展,或者我错过了什么?

更新:我发布了一项功能请求#793。我现在还想知道是否有一个可以立即使用的答案。

1 个答案:

答案 0 :(得分:3)

我不相信你想要的东西存在于Jinja ......(至少现在)
如果你看一下this issue,开发人员就会说他不会这样做:

  

这需要补丁,因为我自己没有使用pgettext。

然后他关闭了这个问题 这是在2014年创建的,可能会有所改变,但我不这么认为(基于another issue)。

通过搜索我发现这个项目可能会有所帮助:https://pypi.python.org/pypi/jinja2-django-tags/0.1。在那里我读到:

  

您也可以直接使用_,gettext和pgettext:

Simple example: {{ _('Hello World') }}
More verbose: {{ gettext('Hello World') }}
With context: {{ pgettext('Hello World', 'another example') }}
祝你好运:)