首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您应该如何处理使用django- field翻译进行翻译的原始字段?

您应该如何处理使用django- field翻译进行翻译的原始字段?
EN

Stack Overflow用户
提问于 2019-12-26 19:48:36
回答 1查看 343关注 0票数 2

我在settings.py中指定了模型的字段应该使用的语言:

代码语言:javascript
复制
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“。

应该如何处理原始字段?忽略它?要删除吗?难道我不应该把英语放在语言中,而把原文当作英文翻译吗?

当我在他们的Github页面上寻找解决方案时,有人说你可以将默认语言设置为你想要的语言,而不是将它包含在你的TRANSLATIONMODEL_LANGUAGES,https://github.com/deschler/django-modeltranslation/issues/488#issuecomment-457427502中,但这不是真的(至少对于最新版本的translationmodel是这样的),因为它会给你一个django.core.exceptions.ImproperlyConfigured: MODELTRANSLATION_DEFAULT_LANGUAGE not in LANGUAGES setting.错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-27 23:31:50

您可以通过以下设置来实现没有额外的英语字段:

代码语言:javascript
复制
gettext = lambda s: s
LANGUAGES = (
    ('en', gettext('English')),
    ('zh-cn', gettext('Simplified Chinese')),
    ('zh-tw', gettext('Traditional Chinese')),
)
MODELTRANSLATION_LANGUAGES = ('zh-cn', 'zh-tw')

这不一定是最佳实践,因为您需要使用原始值:https://django-modeltranslation.readthedocs.io/en/latest/usage.html#rules

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59488043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档