Язык И Тема
Текущий стандарт:
Code Темная(code_dark) по умолчанию.- RU default допустим для внутренних инструментов.
config/gui_settings.yamlзадаёт язык GUI при старте.- Для GitHub/public-сборки достаточно поменять
language: "ru"наlanguage: "en". config/ui_colors.yamlхранит палитры, CSS-токены, цветовые рампы и шрифты.config/gui_settings.yamlхранит выбранныйtheme.- Там же включаются/выключаются эмодзи:
emoji: true/false. - Не используйте
config/settings.yamlдля GUI-слоя: это слишком общее имя для проектной конфигурации. - Не создавайте
config/ui_settings.yaml: это первый GUI-стандарт, закрепляем одно имяgui_settings.yaml. - EN/RU и theme переключатели могут делать полный reload.
- Базовый набор тем: тёплые
Codeи более прохладныеAudion. - Канонический порядок базовых тем в шаблоне:
Code Темная,Code графит,Code светлая,Code теплая,Audion светлая,Audion Темная,Asar Темная. - Проектные и брендовые темы можно добавлять после базового набора. Не закрепляйте в проверках временные имена старых проектов: проверяйте порядок ядра, формат id, labels,
modeи обязательные semantic tokens. - В
label_ruназваний тем используйтеТемнаяитеплаябез буквыё; это совместимость с текущим RU-layout и скриншотами. - GUI-shell содержит встроенный fallback с тем же набором тем. Если при адаптации случайно урезать
config/ui_colors.yaml, выпадающий список всё равно должен остаться полным. - Не надо делать сложный live rebuild компонентов, пока проект не стабилен.
Для русского интерфейса переводите англицизмы с нормальным русским аналогом: встроенный растр, раскладка, метаданные, отчёт, журнал, настройки, рабочая область. Исключения: форматы, аббревиатуры, CLI-флаги/значения, config keys, API/model ids, бренды и реальные папки/файлы (JPG, PDF, DPI, --mode embedded, input\, output\, logs\, report\, workspace\).
После изменения темы, высоты шапки или добавления dropdown проверяйте screenshot: заголовок, theme selector и language switch должны быть визуально центрированы. Текущая калибровка шапки жёсткая: текст заголовка и .audion-header-controls подняты через translateY(-11px). Основной .audion-shell не поднимать: карточка рабочих папок, input и output должна оставаться на обычной позиции под шапкой.
Почему так:
- live переключение языка в pywebview может оборвать соединение;
- у portable GUI важнее надежно запустить команды, чем мгновенно менять все labels;
- dark terminal-first layout лучше сохраняет родство с CMD/FZF.
Для международной редакции:
- держите labels в manifest/i18n layer;
- не хардкодьте пользовательский текст в service code;
- проверяйте длину RU и EN кнопок на FullHD;
- длинные названия сокращайте, пояснение переносите в соседний текст.
- не описывайте очевидное в видимой форме:
Ключ,Модель,Правилаи так понятны; - используйте подсказки только там, где есть формат, риск, побочный эффект или неочевидная механика;
- для избранного выбирайте один пользовательский глагол на экране:
Добавить ... в избранноедля явного действия или чекбокс только там, где он относится к сохранению/импорту; - не используйте безобъектные команды, если рядом несколько целей.
В избранное,Сохранить,Удалитьдолжны статьМодель в избранное,Сохранить профиль,Удалить инструкциюили быть визуально привязаны к единственному полю.