Словарь схемы 0.16.25 (7250 строк), ru.json, ручные правки падежей, перевод ключа name только в меню, release.sh для выкладки в релиз current. Claude-Session: https://claude.ai/code/session_01BFaqS6mH9sa99RWghq2j46
2.3 KiB
Stalwart WebUI на русском, оформление StackWorks
Форк stalwartlabs/webui (AGPL-3.0) для почтового сервера StackWorks mail.stackworks.ru. Отличия от оригинала:
- язык всегда русский:
src/i18n/ru.jsonдля строк самого интерфейса иsrc/i18n/schema-ru.jsonдля схемы, которую присылает сервер (названия разделов, полей, описания); перевод схемы делаетsrc/i18n/schemaRu.tsпрямо при загрузке, ключnameпереводится только в меню (layouts), в остальных местах это идентификаторы полей и значений; - оформление StackWorks: палитра и шрифты в
src/index.css, логотип вsrc/components/common/Logo.tsx, тёмные верхняя полоса и боковое меню (классы sw-top, sw-aside, sw-active).
Перевод
Рабочие файлы в i18n-work/: схема сервера schema-0.16.25.json, части перевода part*.ru.json,
ручные правки overrides.ru.json (падежи названий: единственное число в винительном для
«Создать/Изменить/Удалить …», множественное в родительном для «Показано 1-9 из …»),
глоссарий GLOSSARY.md. Склейка: python3 i18n-work/merge.py.
После обновления сервера Stalwart новые строки схемы останутся английскими: выгрузить новую
схему (/api/schema/... из браузера), найти строки без перевода, перевести и пересобрать.
Выкладка
./release.sh собирает интерфейс и выкладывает webui.zip в релиз current этого репозитория.
Сервер берёт его по адресу из x:Application.resourceUrl:
https://git.stackworks.ru/viktor/stalwart-webui-ru/releases/download/current/webui.zip
и обновляет раз в 30 дней или сразу по действию x:Action/set {"@type":"UpdateApps"}.