# UX-writing на русском языке

Справочник по написанию интерфейсных текстов на русском языке.

## Contents
- [A. Основные принципы UX-writing на русском](#a-основные-принципы-ux-writing-на-русском)
- [B. Кнопки (Button labels)](#b-кнопки-button-labels)
- [C. Сообщения об ошибках (Error messages)](#c-сообщения-об-ошибках-error-messages)
- [D. Пустые состояния (Empty states)](#d-пустые-состояния-empty-states)
- [E. Подсказки и тултипы (Tooltips and hints)](#e-подсказки-и-тултипы-tooltips-and-hints)
- [F. Уведомления и тосты (Notifications and toasts)](#f-уведомления-и-тосты-notifications-and-toasts)
- [G. Элементы форм (Form elements)](#g-элементы-форм-form-elements)
- [H. Загрузка и прогресс (Loading and progress)](#h-загрузка-и-прогресс-loading-and-progress)
- [I. Диалоги подтверждения (Confirmation dialogs)](#i-диалоги-подтверждения-confirmation-dialogs)
- [J. Единообразие терминов (Terminology consistency)](#j-единообразие-терминов-terminology-consistency)
- [K. Особенности UX-writing на русском языке](#k-особенности-ux-writing-на-русском-языке)
- [L. Типографика](#l-типографика)
- [M. Краткая памятка для самопроверки](#m-краткая-памятка-для-самопроверки)
- [Sources](#sources)

---

## A. Основные принципы UX-writing на русском

1. **Текст — элемент дизайна, а не украшение.** Если текст можно убрать без потери смысла — его быть не должно. Если нельзя — он заслуживает такого же внимания, как визуальная композиция экрана.
2. **За текст отвечает вся продуктовая команда.** Формулировки закладываются одновременно с проектированием сценария, не «на потом». Дизайнер, редактор и разработчик работают над текстом совместно.
3. **Говорите на языке пользователя.** Общеупотребительные слова приоритетнее технических терминов. Профессиональный жаргон аудитории допустим, внутренний жаргон компании — нет.
4. **Активный залог и первое лицо.** «Сохранить изменения» лучше «Изменения будут сохранены». Допустимо: «Мои заказы», «Мой профиль».
5. **Единообразие терминов.** Одно понятие — одно название на всех экранах, во всех состояниях, во всех каналах.
6. **Каждое слово работает.** Важное — в начало фразы. Убирайте слова без нового смысла. Не минимальная длина — максимальная ясность.
7. **Превращайте негатив в нейтральное/позитивное.** «Информация доступна ещё 5 дней» вместо «Информация исчезнет через 5 дней». Без искажения смысла.
8. **Информируйте, зачем.** Запрашиваете данные — объясните, для чего. Ограничиваете действие — назовите причину.

---

## B. Кнопки (Button labels)

### Общие правила
1. Текст на кнопке — решение пользователя, глагол в инфинитиве: **Сохранить**, **Отправить**, **Удалить**.
2. Проверка: «Ок, [текст кнопки]» — если звучит естественно, формулировка верная.
3. Кнопка-подтверждение (интерфейс информирует) может быть наречием: **Понятно**, **Хорошо**.
4. Заголовок экрана и кнопка связаны по смыслу. Допустимо повторять ключевое слово.
5. Пара «действие / отмена»: действие конкретно, отмена — всегда **Отмена** (не «Нет», не «Отменить»).
6. Деструктивные действия: указывайте объект — **Удалить проект**, не просто **Удалить**.

### Справочная таблица кнопок

| en|ru |
|---|---|
| Save|Сохранить |
| Save as|Сохранить как |
| Cancel|Отмена (НЕ «Отменить» — это undo) |
| Undo|Отменить (возврат к предыдущему состоянию) |
| Redo|Повторить (вернуть отменённое) |
| Delete|Удалить (уточняйте объект: «Удалить файл») |
| Create|Создать |
| Add|Добавить («в корзину», «участника») |
| Edit|Редактировать (или «Изменить» — одно на весь продукт) |
| Change|Изменить (не путать с «Редактировать») |
| Send / Submit|Отправить |
| Download|Скачать (НЕ «Загрузить» — двусмысленно) |
| Upload|Загрузить (на сервер) |
| Copy|Копировать |
| Paste|Вставить |
| Move|Переместить |
| Rename|Переименовать |
| Share|Поделиться |
| Open|Открыть |
| Close|Закрыть |
| Sign in|Войти (НЕ «Аутентифицироваться») |
| Sign out|Выйти |
| Sign up|Зарегистрироваться (или «Создать аккаунт») |
| Continue|Продолжить |
| Back|Назад |
| Next|Далее |
| Done|Готово (завершение многошагового процесса) |
| Apply|Применить (фильтры, настройки) |
| Reset|Сбросить («Сбросить фильтры») |
| Refresh / Update|Обновить |
| Search / Find|Найти |
| Subscribe|Подписаться |
| Unsubscribe|Отписаться |
| Expand|Развернуть |
| Collapse|Свернуть |
| Confirm|Подтвердить |
| Retry|Попробовать снова (или «Повторить попытку») |
| Skip|Пропустить |
| Buy|Купить |
| Pay|Оплатить |
| Checkout|Оформить заказ |
| Restore|Восстановить |
| Block|Заблокировать |
| Unblock|Разблокировать |
| Configure|Настроить |
| Select|Выбрать |
| Accept|Принять (приглашения, условия) |
| Decline|Отклонить |
| Learn more|Подробнее (ссылка, не кнопка основного действия) |
| Got it|Понятно (подтверждение информационного сообщения) |
| Archive|Архивировать (не удалять, а скрыть из активных) |
| Favorite / Unfavorite|В избранное / Убрать из избранного |
| Mute / Unmute|Без звука / Со звуком (уведомления, чат) |
| Report|Пожаловаться (на контент, пользователя) |
| Add to cart|В корзину |
| Add to wishlist|В список желаний |
| Filter|Фильтровать (или «Применить фильтры») |
| React|Отреагировать (эмодзи-реакции — без текста кнопки, только иконки) |

---

## C. Сообщения об ошибках (Error messages)

### Структура: 1) что произошло, 2) почему (если полезно), 3) что делать.

### Принципы
1. Нейтральный тон: не обвиняйте пользователя («Вы ввели неправильно» → «Неверный формат»).
2. Конкретика: называйте ограничения, форматы, допустимые значения.
3. Заголовки разных ошибок должны отличаться. Одинаковые «Не удалось…» — пользователь перестаёт различать, поддержка не может идентифицировать.
4. Экран ошибки — разновидность пустого состояния: помогите двинуться дальше.

### Формулировки: плохо|хорошо|почему

| bad|good|why |
|---|---|---|
| Ошибка|Не удалось сохранить файл. Проверьте подключение|причина+действие |
| Неверный формат|Загрузите JPG, PNG или WebP|называет решение |
| Произошла ошибка. Попробуйте позже|Сервер не отвечает. Попробуйте через пару минут или в поддержку|ориентир+план |
| Ошибка загрузки|Файл слишком большой. Максимум — 25 МБ|ограничение |
| Неверный пароль|Неверный пароль. Сбросьте по ссылке|предлагает выход |
| Ошибка ввода|Телефон: +7, 11 цифр|ожидаемый формат |
| Недопустимые символы|Имя: буквы, дефис, пробел|допустимое |
| Поле обязательно|Укажите email|конкретное поле |
| Ошибка оплаты|Проверьте баланс или попробуйте другой способ|два варианта |
| Что-то пошло не так|Не загрузилась страница. Обновите или вернитесь позже|действие+запас |
| Ошибка авторизации|Не удалось войти. Проверьте логин и пароль|что проверить |
| Данные не сохранены|Потеря соединения. Мы сохранили черновик|причина+автодействие |
| Нет доступа|Нет доступа. Обратитесь к администратору|кто поможет |
| Неверная дата|Дата — не раньше сегодняшнего дня|ограничение |
| Превышен лимит|Максимум 10 участников. Удалите кого-то|лимит+выход |
| Ошибка сети|Нет интернета. Проверьте Wi-Fi или мобильную сеть|действия |
| Письмо не отправлено|Проверьте адрес получателя|вероятная причина |
| Ошибка 404|Страница не найдена. Удалена или адрес с ошибкой|человеческий 404 |
| Ошибка 500|Сбой на нашей стороне. Разбираемся, попробуйте позже|честность |

---

## D. Пустые состояния (Empty states)

### Принципы
1. Объясните, что здесь будет, когда появятся данные.
2. Предложите первое действие — кнопку или ссылку.
3. Тон ободряющий, не заискивающий. Без восклицательных знаков, смайлов, нарочитой «дружелюбности».
4. Пустое состояние — точка входа, а не тупик.

### Примеры
- **Пустой список:** «Нет новых уведомлений» + «Здесь появятся уведомления о заказах, доставке и акциях»
- **Пустой поиск:** «Ничего не нашлось по запросу «[запрос]»» + «Измените запрос или проверьте написание» + [Сбросить фильтры]
- **Новый аккаунт:** «У вас пока нет проектов» + [Создать проект]
- **Нет данных за период:** «Нет данных за выбранный период» + «Выберите другой диапазон»
- **Пустая корзина:** «Корзина пуста» + [Перейти в каталог]
- **Пустое избранное:** «В избранном пока пусто» + «Нажмите на сердечко у товара»

---

## E. Подсказки и тултипы (Tooltips and hints)

### Правила
1. Максимум 1–2 предложения. Больше — справочная статья.
2. Объясняйте «зачем», а не «что»: пользователь видит элемент, но может не понимать назначение.
3. Не дублируйте написанное на экране. Тултип «Кнопка сохранения» к кнопке «Сохранить» — бесполезен.
4. Нельзя прятать в тултип критически важную информацию: пользователь может его не увидеть.

### Типы подсказок

| Тип|Триггер|Когда |
|---|---|---|
| Тултип|hover|Пояснение к иконке, сокращению, настройке |
| Хинт|постоянно виден|Формат ввода, ограничения, пояснение к полю |
| Инлайн-подсказка|всегда видна|Важные предупреждения, нельзя пропустить |
| Обучающий тултип|первое посещение/обновление|Знакомство с новой функцией |

### Примеры
- Тултип к замку: «Данные передаются по защищённому соединению»
- Хинт под ИНН: «10 цифр для организации, 12 — для ИП»
- Тултип к переключателю: «Если включено, уведомления будут приходить и по ночам»

### Пунктуация
Правило точки в тултипах и подписях — см. §L «Типографика».

---

## F. Уведомления и тосты (Notifications and toasts)

### Типы
1. **Успех:** кратко, конкретно, без пафоса. «Файл сохранён», не «Операция выполнена успешно». Если действие очевидно — уведомление может не требоваться.
2. **Ошибка:** обязательно содержит действие или подсказку к решению.
3. **Инфо:** только если пользователь должен это знать прямо сейчас. Избыток вызывает «уведомительную слепоту».
4. **Предупреждение:** сообщите о риске и как его избежать.

### Формат
5. Тост: текст читается за 3–5 секунд.
6. Не блокируйте действия, тост не перекрывает важный контент.
7. Нужны подробности — ссылка «Подробнее», не длинный текст.

### Примеры

| Тип|Плохо|Хорошо |
|---|---|---|
| Успех|Операция выполнена успешно|Изменения сохранены |
| Успех|Действие завершено|Письмо отправлено |
| Ошибка|Ошибка|Не удалось удалить файл. Попробуйте ещё раз |
| Инфо|Внимание! Важная информация!|Завтра в 03:00 планируются технические работы |
| Предупреждение|Осторожно!|Осталось 3 дня до окончания подписки. [Продлить] |

---

## G. Элементы форм (Form elements)

### Плейсхолдер
1. Показывает **пример** заполнения, не инструкцию. Хорошо: `Иван Петров`. Плохо: `Введите имя`.
2. Исчезает при вводе — не размещайте критически важную информацию.

### Лейбл
3. Существительное или короткая именная группа: «Электронная почта», «Дата рождения».
4. Не команда: «Электронная почта», а не «Введите электронную почту».
5. Обязательные поля не помечайте, если обязательны почти все. Помечайте необязательные.

### Валидация
6. Мгновенная, не по отправке формы.
7. Сообщение рядом с полем, не в общем блоке наверху.
8. Называйте формат: «email в формате name@example.com».
9. Не показывайте ошибку до начала ввода, но и не ждите завершения.

### Подпись к полю (help text)
10. Под полем. Объясняет «зачем» или формат.
11. Видна одновременно с полем, не по запросу.

### Примеры полей

| Элемент|Лейбл|Плейсхолдер|Подпись |
|---|---|---|---|
| Email|Электронная почта|name@example.com|На эту почту придёт подтверждение |
| Телефон|Телефон|+7 900 123-45-67| |
| Пароль|Пароль| |Минимум 8 символов, хотя бы одна цифра |
| ИНН|ИНН|7707083893|10 цифр для юрлица, 12 для ИП |
| Дата|Дата рождения|15.03.1990| |
| Комментарий|Комментарий к заказу (необязательно)|Домофон не работает, позвоните| |

---

## H. Загрузка и прогресс (Loading and progress)

### Принципы
1. Сообщайте, какой процесс идёт — пользователь не должен гадать.
2. Больше 2–3 секунд — текстовое пояснение.
3. Можно показать прогресс (процент, шаги) — показывайте.
4. Длительные операции: укажите типичное время.

### Формулировки

| Ситуация|Плохо|Хорошо |
|---|---|---|
| Загрузка данных|*(спиннер)*|Загружаем документы… |
| Отправка формы|Загрузка…|Отправляем заявку… |
| Генерация отчёта|Подождите|Формируем отчёт. Обычно 1–2 минуты |
| Импорт|Обработка…|Импортируем данные: 45 из 120 записей |
| Экспорт|Подождите|Готовим файл для скачивания… |
| Длительная операция|*(ничего)*|Проверяем данные. До 5 минут, можно закрыть — пришлём уведомление |

### Пошаговый прогресс
5. Если несколько этапов — показывайте шаг: «Шаг 2 из 4: Проверяем реквизиты…»

---

## I. Диалоги подтверждения (Confirmation dialogs)

### Структура
1. **Заголовок:** что произойдёт — вопрос: «Удалить проект?», «Отменить подписку?».
2. **Тело:** последствия. Конкретика: что именно затронуто.
3. **Кнопки:** конкретное действие + Отмена. **Никогда** «Да / Нет».

### Когда подтверждения не нужны
4. Действие обратимо — дайте undo после выполнения, не подтверждение до.
5. Действие частое/серийное — подтверждение раздражает и замедляет.

### Усиление подтверждения
6. Особо опасные действия: покажите конкретику — список удаляемого, количество записей, имена получателей.

### Примеры

**Удаление (необратимое):**
> **Удалить проект «Альфа»?**
> Будут удалены все файлы и история (12 файлов, 47 версий). Нельзя отменить.
> [Удалить проект] [Отмена]

**Отмена подписки:**
> **Отменить подписку?**
> Активна до 15 апреля. После — доступ к платным функциям прекратится.
> [Отменить подписку] [Оставить подписку]

**Выход без сохранения:**
> **Выйти без сохранения?**
> Несохранённые изменения будут потеряны.
> [Выйти] [Вернуться к редактированию]

**Массовое действие:**
> **Отправить рассылку 1 240 получателям?**
> Отменить рассылку после отправки невозможно.
> [Отправить] [Отмена]

---

## J. Единообразие терминов (Terminology consistency)

### Принцип «одно понятие — одно слово»
1. Назвали «проект» — он «проект» везде: навигация, заголовки, ошибки, уведомления, письма. Не чередуйте с синонимами. В интерфейсе повторяемость — достоинство.

### Глоссарий продукта
2. Ведите глоссарий. Минимум: термин, определение, где используется в UI, что НЕ использовать.

### Локализация vs транслитерация
3. **Русское слово** — если не длиннее англицизма более чем в 1,5 раза, привычно аудитории, однозначно.
4. **Транслитерация** — если русский значительно длиннее, термин прочно вошёл в язык, русский вариант неестественен.
5. **Проверяйте** частотность по словарям и поисковикам. «Лендинг» — устоявшееся; «лэндинг» — менее частотное.

### Частые проблемные пары

| Ситуация|Рекомендация |
|---|---|
| Авторизация vs аутентификация|В UI: «Вход». Техразличия не нужны пользователю |
| Загрузить (upload) vs загрузить (download)|**загрузить** (на сервер) и **скачать** (на устройство) |
| Логин vs имя пользователя|Одно на весь продукт |
| Аккаунт vs учётная запись|«Аккаунт» — потребительские; «Учётная запись» — корпоративные |
| Нотификация vs уведомление|«Уведомление» — общеупотребительное |
| Баг vs ошибка|Для пользователя — «ошибка» или «сбой» |
| Дашборд vs панель|«Дашборд» прижился в продуктовых интерфейсах; «панель»/«сводка» — допустимая альтернатива по контексту |
| Паттерн vs шаблон|«Шаблон» — для пользовательского интерфейса |

---

## K. Особенности UX-writing на русском языке

### Обращение: «вы» или «ты»

| Критерий|«Ты»|«Вы» |
|---|---|---|
| Аудитория|Молодая, неформальная|Широкая, разновозрастная, профессиональная |
| Тон|Дружеский|Нейтральный, деловой |
| Примеры|Telegram, VK, игры|Банки, госуслуги, B2B |

1. Выберите форму один раз — без исключений на всех экранах. Смешение разрушает единый голос.
2. Оба варианта со строчной буквы, если не личное обращение в письме.

### Гендер в интерфейсных текстах
3. **Безличные конструкции** (самый универсальный): «Заказ оформлен» вместо «Вы оформили заказ».
4. **Инфинитив:** «Для продолжения необходимо подтвердить email».
5. **Множественное число:** «Вы вошли в систему» (не «вошёл/вошла»).
6. Пол из профиля — допустимо согласование, но требует технической реализации.

### Длина слов: русский на ~30% длиннее английского
7. **Кнопки:** «Зарегистрироваться» (18) vs «Sign up» (7) — закладывайте запас ширины.
8. **Навигация:** пункты меню могут не влезать.
9. **Мобильные экраны:** критично для маленьких разрешений.
10. **Таблицы:** заголовки столбцов на русском занимают больше.
11. Решения: сокращайте формулировки, используйте общепринятые сокращения, тестируйте с реальным русским текстом, не Lorem ipsum.

### Типичные проблемы при локализации с английского
12. **Калькирование:** «Это действие не может быть отменено» → «Это действие нельзя отменить».
13. **Артикли:** «the file» → «файл», не «этот файл» или «данный файл» (канцелярит).
14. **Порядок слов:** русский свободный — ставьте важное в начало.
15. **Множественное число:** 3 формы (1 файл, 2 файла, 5 файлов) — не забывайте о плюрализации в шаблонах.

### Ложные друзья переводчика

| English|Неправильно|Правильно |
|---|---|---|
| Accurate|Аккуратный|Точный |
| Actually|Актуально|На самом деле |
| Application|Аппликация|Приложение / Заявка |
| Data|Дата|Данные |
| Magazine|Магазин|Журнал |
| Replica|Реплика|Копия / Точная копия |

---

## L. Типографика

Полные правила русской типографики см. в [typography.md](typography.md).
UX-специфичные дополнения ниже:

1. В заголовках точка не ставится.
2. В подписях (тосты, хинты, тултипы): точка только между предложениями, не в конце. Исключение — полноценный текст из 2+ абзацев: обычные правила пунктуации.
3. Решение об использовании Ё принимается на уровне продукта и фиксируется в редполитике.
4. Обязательно ставьте Ё, когда возможны разночтения (всё vs все, передохнём vs передохнем).
5. Обязательно ставьте Ё в именах собственных.
6. Используйте символ ₽, не «руб.» или «р.». Знак после числа через пробел: 1 500 ₽.

---

## M. Краткая памятка для самопроверки

- [ ] Текст понятен с первого прочтения без дополнительного контекста?
- [ ] Важное стоит в начале фразы?
- [ ] Нет слов, которые можно убрать без потери смысла?
- [ ] Термины совпадают с глоссарием продукта?
- [ ] Кнопки содержат глагол (или наречие для подтверждения)?
- [ ] Ошибки содержат действие — что делать дальше?
- [ ] Пустые состояния предлагают первый шаг?
- [ ] Заголовок и кнопка связаны по смыслу?
- [ ] Текст уместится на всех экранах, включая мобильные?
- [ ] Не используются «Да / Нет» в диалогах подтверждения?
- [ ] Плейсхолдер содержит пример, а не инструкцию?
- [ ] Форма обращения («вы» / «ты») единообразна?

## Sources
See [sources.md](sources.md)
