Как добавить новый язык сайта в админке Django

Я работаю над проектом, в котором мы хотим иметь многоязычный сайт. Мы начинаем с двух языков, определенных в settings.py

LANGUAGES = (
    ("en-us", _("United States")),
    ("cs", _("Czech Republic")),
)

Может кто-нибудь подсказать мне, как мы можем управлять (добавлять, удалять или отключать) языками из админки Django?

Я проверил их, но не нашел ответа

Короткий ответ: вы не можете этого сделать.

settings.py проекта Django не предназначен и не рекомендуется для изменения веб-приложением. (Это может привести к нарушению безопасности)

Поэтому я рекомендую изменить LANGUAGES вручную, или включить все языки, поддерживаемые Django, удалив ключ LANGUAGES. Конечно, не забудьте сгенерировать файлы сообщений с помощью команды makemessages.

Если вам действительно нужна такая динамическая функция, лучше всего будет реализовать ее самостоятельно, изменив исходный код Django Rosetta. (Определите элемент предпочтения для поддерживаемых языков в модели БД и фильтруйте языки по его значению)

Вернуться на верх