Товарищи программисты! А как в насквозь интернационализированном django получить локализованное название месяца (strftime(“%b”)) в соответствии с текущей настройкой LANGUAGE_CODE?
У меня сложилось впечатление, что там setlocale не вызывается никогда, поэтому strftime всегда выдаёт английские месяцы. Может, там есть какй-то специальный способ? Или я чего-то не заметил?
Upd: таки да, не заметил. Оказывается, django проверяет язык в следующем порядке: django_language в сессии, кука, http-заголовок Accept-Language, и только в последнюю очередь LANGUAGE_CODE. Поскольку Firefox выдаёт Accept-Language, то он и срабатывал. А из языков там, естественно, по умолчанию были только en и en-us. После добавления ru django мгновенно русифицировался.
А для получения месяца можно использовать django.utils.dateformat.format(“b”) или “M”. Не знаю, насколько это идеологически верно, потому что сам dateformat – это реализация php’шного date(), но работает.