Как реализовывается мультиязычность в Django

Python Senior Без компании
Как реализовывается мультиязычность в Django
Ответы
В Django мультиязычность реализуется через встроенную систему интернационализации (i18n). Основные шаги: - **Настройки**: ``` # settings.py LANGUAGE_CODE = 'en' USE_I18N = True LANGUAGES = [ ('en', 'English'), ('es', 'Spanish'), ] MIDDLEWARE += ['django.middleware.locale.LocaleMiddleware'] ``` - **Разметка текста**: ``` from django.utils.translation import gettext as _ text = _("Hello World") ``` - **Шаблоны**: ``` {% load i18n %} <h1>{% trans "Welcome" %}</h1> ``` - **Создание переводов**: ``` django-admin makemessages -l es django-admin compilemessages ``` - **URL-префиксы**: ``` urlpatterns = [ path('i18n/', include('django.conf.urls.i18n')), path('<language>/', include('myapp.urls')), ] ``` Переводы хранятся в `.po` файлах в `locale/` директориях. Для переключения языка можно использовать `set_language` view или middleware.