Files
viktor 61ff14915b Русский перевод интерфейса и схемы, падежи, выкладка через релиз
Словарь схемы 0.16.25 (7250 строк), ru.json, ручные правки падежей,
перевод ключа name только в меню, release.sh для выкладки в релиз current.

Claude-Session: https://claude.ai/code/session_01BFaqS6mH9sa99RWghq2j46
2026-10-06 01:37:19 +09:00

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"}.