Локализация Apache Superset
dev-katerina 34 минуты назад Локализация Apache Superset Средний 5 мин 1.3K Apache * DevOps * Туториал Из песочницы Я работала над созданием модуля BI, в основе которого использование Apache Superset для расчета и...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. dev-katerina 34 минуты назад Локализация Apache Superset Средний 5 мин 1. 3K Apache * DevOps * Туториал Из песочницы Я работала над созданием модуля BI, в основе которого использование Apache Superset для расчета и демонстрации различных метрик. Планировалось использовать дашборды в общем интерфейсе приложения целиком, просто встроив их в интерфейс, а настройки для создания метрик и прочего спрятать в общую админку.
Соответственно, появилась необходимость локализовать интерфейс Superset’а. Готового решения найти не удалось, поэтому пришлось разбираться самостоятельно. Сразу оговорюсь, речь пойдет о версии 6.
Технические детали
0 с расширением dev, в которое включены библиотеки для работы с другими БД, помимо SQLite. В репозитории с исходным кодом есть ветка с информацией о релизах. Для разворачивания я использую Docker.
Проблема частичной локализацииЕсли вы пытались перевести суперсет на другой язык, то наверняка сталкивались с проблемой частичной локализации интерфейса. Итак, на пути к переводу интерфейса первое действие - изменить конфигурационный файл. Он позволяет нам указать перечень доступных для использования языков и выбрать язык по умолчанию.
Таким образом, в файле pythonpath/superset_config. py мы указываем значения для двух переменных:LANGUAGES = { 'ru': {'flag': 'ru', 'name': 'Russian'}, 'en': {'flag': 'us', 'name': 'English'}, } BABEL_DEFAULT_LOCALE = 'ru' В результате в интерфейсе рядом с настройками появляется кнопка переключения языка с тем количеством языков, которое вы указали. Однако тут будет переведена всего лишь часть настроек.
Отраслевые последствия
Выглядит это так:Частично переведенный интерфейсПричины и исправленияДело в том, что в image по умолчанию не включены скомпилированные локализационные файлы для разных языков, хотя сами файлы с переводом представлены. Таким образом, первой задачей по исправлению будет компиляция файла. Кроме того, в Superset используются две независимые системы локализации:Backend (Python, Babel, .
mo файлы)Frontend (JavaScript, JSON словари)Выполним локализацию в два этапа:Подготовим скомпилированные файлы перевода для pythonЗапустим скрипт, который составит словарь для JSДалее будет необходимость добавлять файлы в image и выполнять команды над ними. Один из удобных вариантов решения в данном случае - создание собственного image на основе официального с добавлением необходимых файлов, библиотек и выполнением действий. Компиляция файла переводаНачнем с компиляции файлов локализации.
Они располагаются в папке superset/translationsПроверьте состав папки:файл messages. pot является шаблоном для файлов локализации, он должен быть в корне папки. Его трогать нет необходимости.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





