可能重复:
Django switching, for a block of code, switch the language so translations are done in one language
有没有一种简单的方法可以让Django为单个模板渲染操作切换语言?
在我的情况下,用户可能会触发一个事件,该事件需要向没有说同一种语言的人发送消息。
例如 - 用户是讲英语的人,但会调用向讲西班牙语的人发送消息的动作 - 因此我需要用西班牙语生成传出内容。
我知道可以通过伪造Request并使用RequestContext,但是我更喜欢更短/更清晰的解决方案。
答案 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()
为了更好地重用代码,您可以将其重构为上下文管理器。