Django i18n использует перевод из модуля django.contrib вместо файла LOCALE_PATHS

Мой проект Django 3.2.9 отображает перевод _('Active') и {% translate 'Active' %}, который приходит из одного из модулей Django, вместо моего приложения registration. Однако, другие переводы из registrations используются правильно. Временно переместив каталог локали за пределы каталога приложения, я убедился, что не только LOCALE_PATHS правильно установлен, но и используется. Переупорядочивание моих INSTALLED_APPS также ничего не меняет. Django, похоже, настаивает на использовании перевода из одного из своих модулей вместо перевода в LOCALE_PATHS.

Перевод в файле выглядит стандартно:

#: .\registration\templates\users.html:109
#: .\registration\templates\list.html:34 .\registration\views.py:687
msgid "Active"
msgstr "XXX"

Мои настройки выглядят следующим образом:

BASE_DIR = Path(__file__).resolve().parent.parent

LOCALE_PATHS = [
    BASE_DIR / 'registration' / 'locale',
    BASE_DIR / 'administration' / 'locale',
]

Я подтвердил, что путь верен и содержит django.po и django.mo в LC_MESSAGES в каталоге кода языка. Как было отмечено выше, другие переводы работают корректно.

Почему Django использует свою собственную версию, хотя моя находится в LOCALE_PATHS и, после изменения настроек, в начале INSTALLED_APPS? Как я могу убедиться, что Django использует мою версию?

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