Django:使用i18n在模板中同时进行两次翻译

时间:2011-06-30 15:17:52

标签: django internationalization django-templates

我们公司生成的报告通常使用双语言格式。例如:

English Test Name / Chinese Test Name: Result cm

我们已经设置了翻译,并且我已生成.po / .mo文件,并且可以毫无问题地使用单一语言。但是,有没有一种方法,使用内置的Django功能,来做双语选项。模板的当前格式

{% trans "Key" %}

在我们正在做的事情上留下了一些不足之处。也许

{% blocktrans %}

会更好吗?

我想在它上面抛出逻辑,想知道是否有办法使用

{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}

获取所选语言,然后以某种方式操纵语言。

除了重写中间件之外的任何想法?

1 个答案:

答案 0 :(得分:0)

我不知道如何在模板中执行此操作,但i18n python框架能够使用django.utils.translation.activate激活语言以激活给定语言。简单地看一下trans和blocktrans的templatetags代码,看来没有为模板标签实现这样的东西,但是你可以编写自己的标签来包装trans和blocktrans,并允许你指定某种语言作为参数。