Российские открытые системы и русский язык в интерфейсе
Зачем:Вы познакомитесь с четырьмя открытыми дизайн-системами российских компаний: Gravity UI, VKUI, Taiga UI и Plasma, и узнаете, что нужно учесть, чтобы любая система работала по-русски: формы слов после числа, цены, даты, кавычки и длинные подписи. После урока вы исправите эти мелочи на своей странице.
30 минут
Озвучено синтезом речи (Qwen3-TTS), голос не принадлежит человеку.
Gravity UI, VKUI, Taiga UI и Plasma — открытые российские дизайн-системы. Русский интерфейс требует трёх форм слова после числа, «ёлочек» и цен вида 12 500 ₽.
Почему о российских системах отдельно
Большинство систем, с которыми вы знакомились, написаны на английском для английского языка. Это скрытая трудность: многое в них «работает по умолчанию» только для английского. А у российских систем есть два преимущества: они учитывают русский язык с самого начала, а документацию можно читать на родном языке.
Выберем четыре открытые системы российских компаний. У каждой публичная документация и открытый код.
Команда Gravity UI (Яндекс)
- Идея
- Набор библиотек и дизайн-система для сложных веб-сервисов: рабочие панели, графики, данные.
- Токены
- UIKit содержит базовые компоненты и токены; темы светлая, тёмная и высококонтрастная; есть Themer для настройки тем.
- Компоненты
- Более семидесяти React-компонентов плюс отдельные библиотеки: графики, редактор Markdown, навигация, конструктор лендингов, календарные компоненты.
- Доступность
- Высококонтрастная тема и поддержка письма справа налево, встроенная локализация.
- Открытость
- Открытый код под лицензией MIT на GitHub.
- Что взять себе
- Три темы из коробки, отдельные пакеты под задачи и встроенная поддержка русского.
- Когда не брать
- Если нужен другой стек, чем React: библиотека написана для него.
Открыть документацию системы (откроется сайт системы)
- Gravity UI. Набор библиотек и дизайн-система для сложных веб-сервисов. UIKit содержит базовые компоненты и токены; есть три темы (светлая, тёмная, высококонтрастная), поддержка письма справа налево и встроенная локализация. Отдельные пакеты решают отдельные задачи: графики, редактор Markdown, навигация, конструктор лендингов, календарные компоненты. Код под лицензией MIT.
- VKUI. Библиотека React-компонентов VK, основанная на дизайн-системе VK. По замыслу компоненты «внешне неотличимы» от приложений VK для iOS и Android, а вид подстраивается под платформу. Лицензия MIT.
- Taiga UI. Библиотека для Angular. Начиналась как внутренний продукт компании (обычно её связывают с Тинькофф, ныне Т-Банк), теперь это открытый проект с десятками токенов на CSS-переменных, тёмной темой из коробки и более чем сотней компонентов. Лицензия Apache-2.0.
- Plasma. Система из экосистемы Сбера (организация salute-developers): общее ядро и «вертикали», то есть наборы компонентов и тем под конкретные продукты. Темы и токены вынесены в отдельные пакеты. Лицензия MIT.
Все четыре рассчитаны на фреймворк (React или Angular). Поэтому для простого сайта вы их не поставите, но читать стоит: берите идеи, а не код. Например, три темы из коробки у Gravity UI, подход «ядро плюс вертикали» у Plasma, отдельные пакеты у Taiga UI.
Проверьте себя: на каком фреймворке написана Taiga UI?
На Angular. Gravity UI, VKUI и Plasma написаны для React.
Русский язык в интерфейсе: четыре подводных камня
Вне зависимости от выбранной системы, интерфейс по-русски ломается в четырёх местах. Подвигайте схему: все три цифры и даты считает сам браузер встроенными средствами Intl.
5 услуг (категория Intl.PluralRules: «много»)
12 500 ₽ · пробелы внутри числа неразрывные, на схеме показаны как «␣»: 12␣500␣₽
27 октября 2026 г. · коротко: 27.10.2026
Русские подписи обычно заметно длиннее английских. Кнопка, ширина которой задана числом, ломается: русский текст вылезает или переносится на три строки. Задавайте не ширину, а минимальную ширину и внутренние отступы, и пусть кнопка растёт по подписи.
1. Формы слова после числа. По-английски две формы («1 item», «2 items»), по-русски три: «1 услуга», «2 услуги», «5 услуг». Выбор зависит от последней цифры, а числа от 11 до 14 всегда «много». Вручную легко ошибиться, поэтому браузер умеет сам: Intl.PluralRules('ru') отвечает категорией (one, few, many), по которой вы выбираете слово. Хорошая дизайн-система хранит слова в трёх формах и подставляет нужную.
2. Цена и дата. Тысячи в русском отделяют пробелом, десятичную часть запятой, а знак рубля ставят после суммы: «12 500 ₽». Пробел должен быть неразрывным ( ), иначе строка оборвётся посреди числа. Дату пишут «27 октября 2026» или «27.10.2026», а в разметке для машин оборачивают в <time datetime="2026-10-27">.
3. Длина слов. Русские подписи обычно заметно длиннее английских. Кнопка шириной «9rem» с английским «Book a call» выглядит хорошо, а «Записаться на консультацию» обрезается. Не задавайте ширину числом, а используйте min-width и внутренние отступы. Для длинных слов в узких колонках включайте переносы: hyphens: auto работает, когда у страницы указан lang="ru".
4. Типографика. Кавычки только «ёлочки» (а внутри них „лапки“), прямые кавычки пишущей машинки неуместны. Тире и дефис разные символы; перед тире ставят неразрывный пробел. Подробные правила собраны в «Ководстве» Артемия Лебедева (в источниках), но достаточно запомнить эти три.
Системы, которые заботятся о локализации (например, у Gravity UI в состав входит интернационализация), делают такие мелочи за вас. Для остальных их нужно сделать вручную, как в практике.
Проверьте себя: сколько форм слова после числа в русском?
Три: «1 услуга», «2 услуги», «5 услуг».
Как выбрать, у кого учиться
Теперь у вас есть карточки всех систем, которые мы разобрали в этой части. Поставьте галочки у того, что нужно вашему проекту, и посмотрите, чьи идеи ближе. Очки подсчитаны вручную и служат подсказкой.
- Идея
- Общая грамматика приложений Android и веба: слои «бумаги», крупные скругления, выразительный цвет.
- Токены
- Три уровня: reference (сырая палитра), system (роли вроде primary, surface) и component (значения конкретной детали). Цветовая схема строится из пяти ключевых цветов, каждый из которых даёт тональную палитру из 13 тонов; все пять можно получить из одной исходной краски, а на Android 12 и новее её берут из обоев (динамический цвет).
- Компоненты
- Очень полный набор: от кнопок и полей до навигации и диалогов; у каждого описаны состояния и анатомия.
- Доступность
- Рекомендация Android для цели нажатия: не меньше 48 × 48 dp, и Material её придерживается; в веб-библиотеке есть кольцо фокуса для клавиатуры.
- Открытость
- Документация публична. Библиотека веб-компонентов Material (material-web.dev) по её README находится в режиме поддержки в ожидании новых сопровождающих: перед выбором проверьте её состояние.
- Что взять себе
- Идею ролей цвета («на что» используется цвет), состояния компонентов и подробные страницы анатомии.
- Когда не брать
- Если нужен свой характер: узнаваемый вид Material быстро делает сайт «одним из многих».
Открыть документацию системы (откроется сайт системы)
- Material Design 3
- Human Interface Guidelines (Apple)
- Fluent 2 (Microsoft)
- GOV.UK Design System
- Carbon (IBM)
- Atlassian Design System
- Shopify Polaris
- Primer (GitHub)
- Radix Primitives
- shadcn/ui
- Tailwind CSS как система
- Gravity UI
- VKUI
- Taiga UI
- Plasma (Салют, Сбер)
Очки поставлены вручную по описаниям выше: это подсказка для первого выбора, а не измерение. Системы можно (и нужно) смешивать: формы из одной, сетку из другой, доступные компоненты из третьей.
Практика
Исправьте на странице пять русских мелочей и запишите, что вы взяли бы у российской системы. Заметьте, как каждая правка маленькая и как легко их забыть: поэтому хорошие системы хранят эти правила в одном месте.
Что было не так с 2014 годом
В 2014 году русские сайты нередко набирали прямыми кавычками, цены писали обычными пробелами, а кнопки делали шириной по макету, нарисованному с английскими подписями. Российских открытых дизайн-систем почти не было: компании строили их для себя и не публиковали. Сегодня несколько крупных систем открыты, и по ним можно учиться на родном языке.
Практика
Готовлю вашу страницу…
Тест
Вопрос 1 из 6
Карточки
Эти карточки попадут в повторение, когда вы завершите урок.
Сколько форм слова после числа в русском?
Ответ
Три: 1 услуга, 2 услуги, 5 услуг. Выбирает форму Intl.PluralRules (категории one, few, many).
Как записывать цену по-русски?
Ответ
12 500 ₽ с неразрывными пробелами: между тысячами и перед знаком ( ). Intl.NumberFormat с ru-RU делает это сам.
Как делать кнопки для русских подписей?
Ответ
Не жёсткая ширина, а min-width и внутренние отступы: кнопка растёт по подписи, не обрезая её.
Какие открытые российские системы вы знаете?
Ответ
Gravity UI (React), VKUI (React, VK), Taiga UI (Angular, из Тинькофф/Т-Банка), Plasma (React, экосистема Сбера). Все на GitHub, лицензии MIT или Apache-2.0.
Какие кавычки в русском тексте?
Ответ
«Ёлочки» для основных, „лапки“ внутри них. Прямые "кавычки" пишущей машинки не используются.
Источники
- Gravity UI только ссылка, по-русски
- VKUI (документация) только ссылка, по-русски
- Taiga UI только ссылка, по-русски
- Plasma (salute-developers, GitHub) только ссылка, по-русски
- Intl.PluralRules (MDN) CC BY-SA, по-английски
- Ководство (Артемий Лебедев): правила русской типографики только ссылка, по-русски
- hyphens (MDN) CC BY-SA, по-английски
Дальше
Теперь вы знаете: российские открытые системы: Gravity UI, VKUI, Taiga UI, Plasma.