首页 > 解决方案 > 我们如何让 django 自动翻译存储在语言模型中的语言?

问题描述

标签: django-modelsdjango-rosetta

解决方案


创建文件 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 "עברית"

推荐阅读