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 использует мою версию?