2

モデルのフィールドが使用できる言語を settings.py で指定します。

gettext = lambda s: s
LANGUAGES = (
    ('en', gettext('English')),
    ('zh-cn', gettext('Simplified Chinese')),
    ('zh-tw', gettext('Traditional Chinese')),
)

しかし、移行を適用すると、元のフィールドとは別に、これらの追加の 3 つのフィールドが作成されることになります。元のフィールドが「name」だった場合、「name」、「name_en」、「name_zh_cn」、および「name_zh_tw」になります。

元のフィールドで何をすることになっていますか?それを無視します?消して?LANGUAGES に英語を入れずに、オリジナルを英語の翻訳として扱うべきですか?

Github ページで解決策を探したところ、デフォルトを希望の言語に設定して、TRANSLATIONMODEL_LANGUAGES に含めなくてもよいと誰かが言っていました。 #issuecomment-457427502しかし、これは正しくありません (少なくとも最新の translationmodel リリースでは) django.core.exceptions.ImproperlyConfigured: MODELTRANSLATION_DEFAULT_LANGUAGE not in LANGUAGES setting.

4

1 に答える 1