Типовые диалоги и сообщения¶
Здесь собраны готовые тексты диалогов и сообщений для ситуаций, которые бывают почти в любом продукте. Английские надписи на кнопках написаны в Title Case, как принято в Apple HIG. Если ваш продукт следует Material Design или своему гайду со sentence case, поменяйте регистр в английских строках. Русские строки трогать не нужно, они и так пишутся как обычное предложение. Как строить сами диалоги, рассказано в разделе Диалоговые окна, отдельные надписи есть в словаре.
Подстановки в фигурных скобках заполняет код. Кавычки вокруг имён объектов входят в строку перевода, код их не добавляет. В английском это “…”, в русском «…».
Несохранённые изменения при закрытии документа¶
Три исхода требуют трёх кнопок, каждая из которых называет свой результат. Английская конструкция Do you want to…? в русском сокращается до вопроса с инфинитивом: «Сохранить…?» звучит естественнее, чем «Вы хотите сохранить…?».
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Save changes to “{document}”? | Сохранить изменения в «{document}»? |
| Текст | Your changes will be lost if you don't save them. | Если не сохранить, изменения будут потеряны. |
| Основная кнопка | Save | Сохранить |
| Вторая кнопка | Don't Save | Не сохранять |
| Третья кнопка | Cancel | Отмена |
Уход со страницы с заполненной формой¶
Показывайте только если форма действительно изменена. Безопасным действием здесь считается «Остаться», поэтому фокус ставят на него.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Leave this page? | Уйти со страницы? |
| Текст | Changes you made won't be saved. | Внесённые изменения не сохранятся. |
| Основная кнопка | Stay | Остаться |
| Вторая кнопка | Leave | Уйти |
Удаление объекта с возможностью восстановления¶
Если объект попадает в корзину, подтверждение часто не нужно вовсе: достаточно уведомления с кнопкой «Отменить». Диалог оправдан, когда удаление затрагивает других людей.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Move “{name}” to trash? | Переместить «{name}» в корзину? |
| Текст | Items in trash are deleted permanently after 30 days. | Объекты в корзине удаляются навсегда через 30 дней. |
| Основная кнопка | Move to Trash | Переместить в корзину |
| Вторая кнопка | Cancel | Отмена |
Окончательное удаление¶
Кнопка повторяет глагол и объект действия. Срок хранения в примере условный: подставьте значение, принятое в вашем продукте.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Delete “{name}” permanently? | Удалить «{name}» навсегда? |
| Текст | This can't be undone. | Это действие нельзя отменить. |
| Основная кнопка | Delete Permanently | Удалить навсегда |
| Вторая кнопка | Cancel | Отмена |
Массовое удаление¶
Число подставляется через множественные формы; в русском тексте конструкция «объекты ({n})» или ICU plural избавляет от склейки.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Delete {n} items? | {n, plural, one {Удалить # объект?} few {Удалить # объекта?} many {Удалить # объектов?} other {Удалить # объекта?}} |
| Текст | Selected items will be deleted for all members of the workspace. | Выбранные объекты будут удалены для всех участников рабочего пространства. |
| Основная кнопка | Delete {n} Items | Удалить ({n}) |
| Вторая кнопка | Cancel | Отмена |
Удаление с вводом названия¶
Для удаления рабочих пространств, репозиториев и аккаунтов. Кнопка недоступна, пока название не введено.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Delete workspace “{name}”? | Удалить рабочее пространство «{name}»? |
| Текст | All projects, files and member access will be permanently deleted. To confirm, type the workspace name. | Все проекты, файлы и доступы участников будут удалены без возможности восстановления. Для подтверждения введите название пространства. |
| Подпись поля | Workspace name | Название пространства |
| Основная кнопка | Delete Workspace | Удалить пространство |
| Вторая кнопка | Cancel | Отмена |
Замена существующего файла¶
Третий вариант «Сохранить оба» избавляет пользователя от необходимости отменять операцию и переименовывать файл вручную.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Replace “{file}”? | Заменить «{file}»? |
| Текст | A file with this name already exists in “{folder}”. | Файл с таким именем уже есть в папке «{folder}». |
| Основная кнопка | Replace | Заменить |
| Вторая кнопка | Keep Both | Сохранить оба |
| Третья кнопка | Cancel | Отмена |
Предупреждение об истечении сеанса¶
Требуется критерием WCAG 2.2.1 Timing Adjustable. Время обновляется каждую минуту, а не каждую секунду, чтобы экранный диктор не зачитывал его постоянно.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Your session is about to expire | Сеанс скоро завершится |
| Текст | You'll be signed out in {n} minutes due to inactivity. | Через {n} мин вы выйдете из системы из-за бездействия. |
| Основная кнопка | Stay Signed In | Продолжить работу |
| Вторая кнопка | Sign Out | Выйти |
Сеанс завершён¶
Окно входа открывается поверх текущей страницы, а несохранённые данные отправляются после повторного входа.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Session expired | Сеанс завершён |
| Текст | Sign in again to continue. Your unsaved changes will be kept. | Войдите снова, чтобы продолжить. Несохранённые изменения не пропадут. |
| Основная кнопка | Sign In | Войти |
Конфликт изменений¶
Пользователь должен увидеть, кто и когда внёс изменения, и сравнить версии до того, как выбрать.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | This document was changed | Документ был изменён |
| Текст | {user} saved changes {time}. Review the differences before saving your version. | Последние изменения: {user}, {time}. Сравните версии, прежде чем сохранять свою. |
| Основная кнопка | Compare Versions | Сравнить версии |
| Вторая кнопка | Overwrite | Перезаписать |
| Третья кнопка | Cancel | Отмена |
Частичный успех массовой операции¶
Сообщение называет оба числа и даёт повторить только неудачные операции.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | {done} of {total} messages sent | Отправлено сообщений: {done} из {total} |
| Текст | {failed} messages couldn't be delivered because the addresses are invalid. | Не удалось доставить сообщения ({failed}): адреса указаны с ошибкой. |
| Основная кнопка | Show Failed | Показать неотправленные |
| Вторая кнопка | Close | Закрыть |
Ошибка сохранения без сети¶
Встроенное сообщение, а не диалог: работа может продолжаться.
| Элемент | English | Русский |
|---|---|---|
| Текст | Couldn't save. You're offline - changes are stored on this device and will sync when you reconnect. | Не удалось сохранить: нет подключения к интернету. Изменения хранятся на этом устройстве и синхронизируются, когда связь восстановится. |
| Действие | Retry | Повторить |
Ошибка сервера с повтором¶
Код и идентификатор запроса вынесены в раскрываемый блок «Подробности».
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Couldn't load the report | Не удалось загрузить отчёт |
| Текст | The server didn't respond. This is usually temporary. | Сервер не ответил. Обычно это временная проблема. |
| Основная кнопка | Try Again | Повторить |
| Ссылка | Details | Подробности |
| Подробности | Error 504 · Request ID | Ошибка 504 · ID запроса |
Нет прав на действие¶
Сообщение указывает, у кого запросить доступ, и по возможности позволяет сделать запрос сразу.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | You don't have access to this project | Нет доступа к этому проекту |
| Текст | Ask the project owner, {owner}, to give you access. | Попросите владельца проекта ({owner}) предоставить доступ. |
| Основная кнопка | Request Access | Запросить доступ |
| Вторая кнопка | Back to Projects | К списку проектов |
Достигнут лимит тарифа¶
Кроме перехода на другой тариф, сообщение предлагает способ продолжить работу без оплаты.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Storage is full | Хранилище заполнено |
| Текст | You've used {used} of {limit}. Delete files you don't need or upgrade your plan to upload more. | Использовано {used} из {limit}. Удалите ненужные файлы или перейдите на другой тариф, чтобы загружать новые. |
| Основная кнопка | Manage Files | Управлять файлами |
| Вторая кнопка | View Plans | Тарифы |
Выход из аккаунта¶
Подтверждение нужно, только если есть несинхронизированные данные; в остальных случаях выход выполняется сразу.
| Элемент | English | Русский |
|---|---|---|
| Заголовок | Sign out? | Выйти из аккаунта? |
| Текст | Some changes haven't synced yet and will be lost. | Часть изменений ещё не синхронизирована и будет потеряна. |
| Основная кнопка | Sign Out | Выйти |
| Вторая кнопка | Cancel | Отмена |