【问题标题】:Django translation without request object没有请求对象的 Django 翻译
【发布时间】:2016-07-14 09:49:49
【问题描述】:

我正在翻译我的 Django 应用程序,其中有一个推送通知模块。从那个模块,我向用户的移动设备发送一个文本字段。由于这些通知的触发不是正确的 HTTP 请求(带有它的“请求”对象),默认的 Django 转换字符串的方式不起作用。

我在每个用户个人资料上都有一个带有首选语言的字段,所以我认为我应该编写某种中间件来匹配该字段及其正确的翻译。

有什么办法吗?

【问题讨论】:

标签: python django notifications internationalization translation


【解决方案1】:

您正在寻找translation.override 上下文管理器:

language = user.get_language()
with translation.override(language):
    # Translate your message here.

【讨论】:

  • 需要指出的一点,语言只在with 语句中设置,因此请特别注意(或不要使用)lazy translations 内部,否则您可能会得到意想不到的结果
猜你喜欢
  • 2017-04-30
  • 2020-11-03
  • 1970-01-01
  • 2021-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
相关资源
最近更新 更多