Django - 用于模板渲染的切换语言设置

时间:2012-03-24 17:34:08

标签: django internationalization

  

可能重复:
  Django switching, for a block of code, switch the language so translations are done in one language

有没有一种简单的方法可以让Django为单个模板渲染操作切换语言?

在我的情况下,用户可能会触发一个事件,该事件需要向没有说同一种语言的人发送消息。

例如 - 用户是讲英语的人,但会调用向讲西班牙语的人发送消息的动作 - 因此我需要用西班牙语生成传出内容。

我知道可以通过伪造Request并使用RequestContext,但是我更喜欢更短/更清晰的解决方案。

1 个答案:

答案 0 :(得分:5)

您是否正在寻找以下内容:

from django.utils import translation
language_code = 'xx'
template_body = Template(some_text_var)
translation.activate(language_code)
r = template_body.render(context)
translation.deactivate()

为了更好地重用代码,您可以将其重构为上下文管理器。

相关问题