django-models - 我们如何让 django 自动翻译存储在语言模型中的语言?
问题描述
解决方案
创建文件 utils/translation.py
from django.utils.translation import ugettext
from django.utils import translation
def get_translation(text: str, locale: str):
translation.activate(locale)
val = ugettext(text)
translation.deactivate()
return val
然后在你的model.py
def __str__(self):
from utils.translation import get_translation
return get_translation(self.name, self.short_name)
确保 self.short_name 与 rosetta 短名称相同
而且你还需要翻译罗塞塔中的语言。
恩波
msgid "English"
msgstr "English"
荷包
msgid "Hebrew"
msgstr "עברית"
推荐阅读
- php - PHP - 使用 google api 客户端登录问题
- reactjs - 反应,上下文从购物车中删除项目
- react-native - 反应原生目标三星 Galaxy S7
- azure-active-directory - Azure AD 中的应用注册在大约 2 周后消失并出现在企业应用中
- sql - 如何在 SQL Server 中批量删除多个条件的数据
- javascript - 为什么此代码在 MacOS Big Sur Safari 上失败?
- python - 如何从列表中检索最小唯一值?
- python - 无法加载 numpy 数组,它们在 python 中显示泡菜数据错误
- ubuntu - k3s 获取 Kubernetes 服务器版本失败:获取 https://10.43.0.1:443/version?timeout=32s: dial tcp 10.43.0.1:443: connect: connection refused”
- python - 无法在 SQL Server 查询中使用 python concurrent.futures.ThreadPoolExecutor 获得性能提升