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