没有请求对象的 Django 翻译
Django translation without request object
我正在翻译我的 Django 应用程序,其中有一个推送通知模块。从该模块,我向用户的移动设备发送一个文本字段。由于这些通知的触发器不是正确的 HTTP 请求(带有 "request" 对象),因此 Django 翻译字符串的默认方式不起作用。
我在每个用户配置文件上都有一个字段及其首选语言,所以我认为我应该编写某种中间件来匹配该字段及其正确的翻译。
有什么办法吗?
您正在寻找 translation.override
上下文管理器:
language = user.get_language()
with translation.override(language):
# Translate your message here.
我正在翻译我的 Django 应用程序,其中有一个推送通知模块。从该模块,我向用户的移动设备发送一个文本字段。由于这些通知的触发器不是正确的 HTTP 请求(带有 "request" 对象),因此 Django 翻译字符串的默认方式不起作用。
我在每个用户配置文件上都有一个字段及其首选语言,所以我认为我应该编写某种中间件来匹配该字段及其正确的翻译。
有什么办法吗?
您正在寻找 translation.override
上下文管理器:
language = user.get_language()
with translation.override(language):
# Translate your message here.