【发布时间】:2012-03-24 17:34:07
【问题描述】:
可能重复:
Django switching, for a block of code, switch the language so translations are done in one language
有没有简单的方法让 Django 为单个模板渲染操作切换语言?
在我的情况下,用户可能会触发一个事件,该事件需要向不说同一种语言的人发送消息。
例如 - 用户是说英语的人,但调用了一个向说西班牙语的人发送消息的操作 - 因此我需要生成西班牙语的传出内容。
我知道可以通过伪造 Request 和使用 RequestContext 来实现,但我更喜欢更短/更简洁的解决方案。
【问题讨论】:
-
我不确定 Requests 或 RequestContexts 是如何出现的。当然,如果用户 A 向用户 B 发送消息,则可以在用户 B 请求查看消息时简单地翻译该消息(取决于他们的语言设置)。
-
我在看:djangosnippets.org/snippets/1428。问题是我正在发送电子邮件或 SMS 消息 - 因此收件人永远无法与我的 Django 应用程序交互。但是我后来了解到 django.utils.translate.activate/deactivate 是 shanyu 指出的正确答案。
标签: django internationalization