Screenshot
Description
Версия Superset: 5.0
Окружение: ОС: Ubuntu 20.04 Браузер: Chrome 120
Ожидаемое поведение В виджете "Календарная тепловая карта" названия месяцев должны отображаться на русском языке (например, "Январь", "Февраль") в соответствии с настройками локализации, заданными в superset_config.py: BABEL_DEFAULT_LOCALE = "ru" D3_TIME_FORMAT настроен с использованием русских названий месяцев.
Фактическое поведение Названия месяцев в виджете "Календарная тепловая карта" отображаются на английском языке (например, "January", "February"), несмотря на указанные настройки локализации.
Comment From: dosubot[bot]
Hi @zmeygarinich! I'm Dosu and I’m helping the superset team.
Виджет "Календарная тепловая карта" в Superset 5.0 отображает названия месяцев на английском языке, потому что его реализация использует d3.time.format без поддержки локализации — в коде не происходит установка русской локали для D3.js, и настройки BABEL_DEFAULT_LOCALE или D3_TIME_FORMAT из superset_config.py не передаются в компонент календаря. Даже если вы указали русские месяцы в D3_TIME_FORMAT, при использовании формата "adaptive" или по умолчанию, месяц всегда будет на английском, так как d3.time.format использует только встроенную (английскую) локаль, если явно не задана другая подробнее.
В коде виджета (Calendar.js и cal-heatmap.js) нет механизма для передачи локали или пользовательских названий месяцев в D3.js — все форматирование дат происходит через d3.time.format('%B'), который всегда возвращает английские месяцы, если не использовать d3.timeFormatLocale с нужной локалью см. детали реализации.
На данный момент нет штатного способа добиться русских названий месяцев в этом виджете только через конфиг. Для поддержки локализации потребуется доработка: нужно добавить возможность передавать d3.timeFormatLocale с русскими месяцами в компонент календаря и использовать его для форматирования дат. В качестве временного обходного пути можно попробовать явно задать формат даты (например, %m или %Y), чтобы избежать вывода английских названий, но полноценная локализация требует изменений в коде подробнее.
Похожие проблемы с локализацией дат и месяцев обсуждаются в issue #31790.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
Comment From: rusackas
Maybe @TechAuditBI has some insight/experience here?