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

Jan*_*par 3 django internationalization

可能重复:
Django切换,对于一段代码,切换语言,以便翻译以一种语言完成

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

在我的情况下,用户可以触发一个事件,该事件将要求给不讲同一种语言的人发消息.

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

我知道可以通过伪造请求和使用RequestContext,但我更喜欢更短/更清洁的解决方案.

sha*_*nyu 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()
Run Code Online (Sandbox Code Playgroud)

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

  • 使用上下文管理器 - http://stackoverflow.com/a/10385085/486209 (2认同)