Использование пользовательского языка дает сообщение "Вы указали значение для параметра LANGUAGE_CODE, которого нет в параметре LANGUAGES".
Я только что обновил свой проект Django с 2.2 до 3.2, и язык сломался.
У меня был этот кусок кода, который работал нормально (внутри моего settings.py)
LANGUAGE_CODE = 'tb'
EXTRA_LANG_INFO = {
'tb': {
'bidi': False,
'code': 'tb',
'name': 'English',
'name_local': 'United States',
'fallback': ['en-US'],
},
}
import django.conf.locale
LANG_INFO = dict(**django.conf.locale.LANG_INFO, **EXTRA_LANG_INFO)
django.conf.locale.LANG_INFO = LANG_INFO
Теперь я получаю
?: (translation.E004) You have provided a value for the LANGUAGE_CODE setting that is not in the LANGUAGES setting.
Почему это происходит и как я могу это исправить?
Спасибо.
В связи с обновлениями, произошедшими в Django, вам также необходимо иметь список LANGUAGES в таком виде:
LANGUAGES = [
('tb', 'English')
]
Вот что мне помогло.