# ADR: UI locale (RU-first) and design-system alignment Status: accepted · 2026-06-15 · scope: `legacy-knowledge-indexer/frontend` References: `TeamHUB-Platform/docs/submodules/11_UI_DESIGN_STANDARD.md` (§2 RU-first, §3 brand, §8 exceptions), `docs/CONVENTIONS.md` (frontend stack). ## Контекст Платформенный стандарт 11 §2 требует **RU-first** для внутренних HUB-поверхностей (английский допустим для API-имён, статус-лейблов, команд, имён файлов). Текущий операторский UI LegacyHUB выполнен на английском. ## Решение 1. **Целевое состояние — RU-first.** Рабочие экраны (Dashboard, Documents, Search, Ingestion, Quality, Health, Settings) переводятся на русский по умолчанию через i18n-слой; технические термины/идентификаторы остаются как есть. 2. **Переходный период — документированное исключение (11 §8).** До внедрения i18n английский операторский UI эталона действует как зафиксированное locale-исключение со сроком возврата: ввести i18n-каркас и перевести ключевые экраны в ближайшей UI-итерации. Причина: ретро-перевод 9 экранов — отдельная UI-работа с риском регрессий для работающего эталона; визуальные токены/плотность/размеры стандарту уже соответствуют и не затрагиваются. ## Бренд (UI-04) Палитра выровнена на Nutshell/QMS: единый зелёный акцент (`--primary: 158 64% 32%`, см. `frontend/README.md` «Design system»), что соответствует бренд-источнику QMS-Hub. Дальнейшие изменения бренда — через design-source handoff (11 §6). ## Стек (разрешение конфликта с CONVENTIONS) Эталонный фронт использует shadcn/ui (Radix) + Zustand + TanStack Query. Это противоречило формулировке `CONVENTIONS.md` «Без shadcn/Zustand/React Query». Конфликт разрешён правкой источника правды в `TeamHUB-Platform` (CONVENTIONS обновлён, чтобы разрешить этот стек, т.к. он закреплён эталоном). См. коммит в платформенном репозитории. ## Последствия - Соответствие 11 §2 обеспечено через зафиксированное исключение + план RU i18n. - Токены/плотность/доступность остаются в силе; меняется только текстовый слой.