Django date() не переводит названия месяцев в Великобритании и США

Когда я пытаюсь получить локализованное время даты в шаблоне с помощью {{ enrolment.datetime_access_ends|date:"j E Y" }}, я получаю 29 July 2025 (вместо ожидаемого 29 июля 2025). Во всех остальных местах локализация работает нормально.

У меня в файле settings.py есть следующее:

LOCALE_PATHS = [BASE_DIR / "locale"]  # type: ignore
TIME_ZONE = "Europe/Kiev"
USE_I18N = True
USE_L10N = True
USE_TZ = True

LANGUAGE_CODE = "ru-UA"
LANGUAGES = [
    ("ru", _("Russian")),
    ("uk", _("Ukrainian")),
]

Когда я пытаюсь получить перевод месяца из оболочки, я получаю ожидаемые результаты:

>>> activate("uk")
>>> date(timezone.now(), "F")
'Серпень'
>>> activate("ru")
>>> date(timezone.now(), "F")
'Август'

Но когда я пытаюсь сделать то же самое изнутри представления, по какой-то причине это не работает:

print(get_language())
print(date(timezone.now(), "F"))

дарит

ru
August # should be "Август"

в журналах. И если я меняю язык на любой другой, кроме uk или ru

activate("pt")

все работает нормально:

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