【发布时间】:2020-04-16 16:10:27
【问题描述】:
我在 settings.py 中指定了模型字段应该可用的语言:
gettext = lambda s: s
LANGUAGES = (
('en', gettext('English')),
('zh-cn', gettext('Simplified Chinese')),
('zh-tw', gettext('Traditional Chinese')),
)
但是当我应用迁移时,这意味着除了原始字段之外,它还会创建这三个额外的字段。如果原来的字段是“name”,我现在将有“name”、“name_en”、“name_zh_cn”和“name_zh_tw”。
应该如何处理原始字段?忽略它?删除它?我应该不把英文放在LANGUAGES中,把原文当作英文翻译吗?
当我在他们的 Github 页面上寻找解决方案时,有人说您可以将默认设置为您想要的语言,而不是将其包含在您的 TRANSLATIONMODEL_LANGUAGES 中,https://github.com/deschler/django-modeltranslation/issues/488#issuecomment-457427502 但事实并非如此(至少对于最新版本的翻译模型),因为它会给你一个django.core.exceptions.ImproperlyConfigured: MODELTRANSLATION_DEFAULT_LANGUAGE not in LANGUAGES setting. 错误。
【问题讨论】:
-
您不是在翻译 模型字段,是吗?!只是他们在 UI 中的标签。这究竟会在哪里产生像
name_en这样的东西? -
@deceze 我正在翻译模型字段...我认为这就是 django-modeltranslation 的用途?
-
抱歉,我完全忽略了django-modeltranslation。
标签: python django django-modeltranslation