我已经使用env.install_gettext_translations(translation, newstyle=True)
和jinja2.ext.i18n
扩展来配置Jinja环境。我只能在我的jinja2模板中使用_()
,_gettext()
和ngettext()
函数。
我想使用pgettext()
(django docs)来为可翻译字符串添加上下文。是否有延伸来做到这一点,或者我错过了什么?
更新:我已发布功能请求#793。我仍然想知道是否有一个可以立即使用的答案。
我不相信你想要的东西在金贾...(至少现在) 如果你看看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') }}
祝好运 :)