{ "app": { "name": "glchat", "tagline": "Self-hosted общение: текст, голос, видео", "skipToContent": "Перейти к содержимому" }, "status": { "title": "Фундамент развёрнут", "description": "Сервер отвечает, база данных в режиме WAL, миграции применены. Функции общения появятся в следующих фазах.", "connecting": "Проверяем состояние сервера…", "instance": "Инстанс", "version": "Версия", "apiVersion": "Версия API", "schemaReady": "База данных", "schemaOk": "готова", "maxUpload": "Максимальный размер загрузки", "checks": "Проверки", "retry": "Повторить", "back": "Назад", "users": "Пользователей", "guilds": "Серверов", "registration": "Регистрация" }, "health": { "online": "Сервер доступен", "offline": "Сервер недоступен" }, "errors": { "network.unreachable": "Сервер не отвечает. Проверьте соединение и повторите попытку.", "network.aborted": "Запрос отменён.", "instance.not_ready": "Инстанс ещё запускается. Повторите через несколько секунд.", "internal.error": "Внутренняя ошибка сервера.", "not_found": "Запрашиваемый ресурс не найден.", "unknown": "Неизвестная ошибка ({{code}}).", "auth.2fa_required": "Введите код двухфакторной аутентификации из приложения.", "auth.totp_invalid": "Неверный код двухфакторной аутентификации.", "auth.invalid_credentials": "Неверная почта или пароль.", "auth.step_up_required": "Подтвердите личность: введите пароль заново.", "auth.guild_limit_reached": "Достигнут лимит серверов на этом инстансе.", "auth.session_invalid": "Сессия истекла. Войдите снова.", "auth.unauthorized": "Требуется вход в систему.", "auth.registration_disabled": "Регистрация на этом инстансе выключена.", "auth.username_taken": "Такое имя пользователя уже занято.", "auth.email_taken": "Такая почта уже зарегистрирована.", "auth.weak_password": "Пароль слишком простой. Используйте не менее 8 символов.", "auth.too_many_attempts": "Слишком много попыток. Попробуйте позже.", "permissions.denied": "Недостаточно прав для этого действия.", "instance.admin_required": "Действие доступно только администратору инстанса.", "guild.not_found": "Сервер не найден.", "guild.member_limit_reached": "На сервере достигнут лимит участников.", "channel.not_found": "Комната не найдена.", "validation.failed": "Проверьте заполненные поля.", "rate.limited": "Слишком много запросов. Подождите немного.", "perm.denied": "Недостаточно прав для этого действия.", "rate_limited": "Слишком много запросов. Подождите немного.", "message.edit_window_expired": "Сообщение нельзя изменить: прошло больше 24 часов.", "file.too_large": "Файл больше допустимого размера.", "request.bad": "Некорректный запрос.", "file.not_found": "Файл не найден.", "invite.expired": "Срок действия приглашения истёк.", "invite.exhausted": "У приглашения больше не осталось использований.", "user.not_found": "Пользователь с таким логином не найден.", "emoji": { "name_taken": "Эмодзи с таким именем уже есть.", "invalid_type": "Поддерживаются PNG, JPEG, WebP и GIF.", "invalid_name": "Имя эмодзи: 2–32 символа, латиница, цифры и «_»." }, "emojis": { "limit_reached": "На сервере достигнут лимит эмодзи." }, "voice.disabled": "Голос не настроен на инстансе.", "voice.channel_full": "В комнате нет свободных мест.", "voice.token_refresh_failed": "Не удалось продлить сессию голоса. Подключитесь заново.", "sound": { "invalid_type": "Поддерживаются MP3, OGG, WAV, WebM и M4A.", "invalid_name": "Имя звука: 2–32 символа, латиница, цифры и «_».", "name_taken": "Звук с таким именем уже есть." }, "sounds": { "limit_reached": "Достигнут лимит звуков этого вида.", "event_required": "Для звука палитры выберите событие." }, "voice.not_connected": "Сначала войдите в голосовую комнату." }, "theme": { "switchToLight": "Светлая тема", "switchToDark": "Тёмная тема", "label": "Тема", "dark": "Тёмная", "light": "Светлая" }, "language": { "label": "Язык", "ru": "Русский", "en": "English" }, "common": { "loading": "Загрузка…", "retry": "Повторить", "cancel": "Отмена", "close": "Закрыть", "save": "Сохранить", "saving": "Сохраняем…", "create": "Создать", "creating": "Создаём…", "join": "Присоединиться", "leave": "Покинуть", "back": "Назад", "copy": "Скопировать", "copied": "Скопировано", "delete": "Удалить", "yes": "Да", "no": "Нет", "optional": "необязательно", "dismiss": "Скрыть" }, "footer": { "source": "Исходный код", "license": "AGPL-3.0" }, "auth": { "login": { "title": "Вход", "subtitle": "Войдите, чтобы продолжить общение", "email": "Почта", "emailPlaceholder": "you@example.com", "password": "Пароль", "totp": "Код 2FA или резервный код", "totpHint": "Если 2FA включена; можно ввести резервный код вида xxxx-xxxx-xxxx.", "submit": "Войти", "submitting": "Входим…", "noAccount": "Ещё нет аккаунта?", "registerLink": "Зарегистрироваться", "forgot": "Пароль забыт? Обратитесь к администратору инстанса.", "instanceStatus": "Состояние инстанса", "registrationDisabled": "Регистрация на этом инстансе выключена администратором.", "totpRequired": "Введите код 2FA или резервный код — без него вход невозможен." }, "register": { "title": "Регистрация", "subtitle": "Создайте аккаунт на инстансе {{instance}}", "username": "Имя пользователя", "usernameHint": "3–32 символа: латиница, цифры, «_» и «-».", "displayName": "Отображаемое имя", "email": "Почта", "password": "Пароль", "passwordHint": "Не менее 8 символов.", "requirements": "Требования к паролю: {{list}}", "requirementLength": "не менее 8 символов", "requirementLetter": "хотя бы одна буква", "requirementDigit": "хотя бы одна цифра", "submit": "Создать аккаунт", "submitting": "Создаём аккаунт…", "haveAccount": "Уже есть аккаунт?", "loginLink": "Войти", "disabledTitle": "Регистрация закрыта", "disabledBody": "Администратор инстанса выключил самостоятельную регистрацию. Попросите приглашение или обратитесь к администратору." }, "validation": { "usernameFormat": "Имя пользователя: 3–32 символа, латиница, цифры, «_» или «-».", "usernameRequired": "Укажите имя пользователя.", "displayNameRequired": "Укажите отображаемое имя.", "emailInvalid": "Укажите корректный адрес почты.", "passwordShort": "Пароль должен быть не короче 8 символов.", "passwordLetter": "Добавьте в пароль хотя бы одну букву.", "passwordDigit": "Добавьте в пароль хотя бы одну цифру.", "passwordMismatch": "Пароли не совпадают." } }, "onboarding": { "title": "Добро пожаловать в glchat", "greeting": "Привет, {{name}}!", "subtitle": "Пара шагов — и можно общаться.", "displayName": "Как вас показывать?", "displayNameHint": "Это имя видят другие участники.", "bio": "Расскажи о себе", "bioPlaceholder": "Чем занимаетесь, что интересно…", "language": "Язык интерфейса", "theme": "Тема", "start": "Начать", "starting": "Готовим рабочее пространство…", "skip": "Пропустить и начать", "note": "Позже всё это можно изменить в настройках." }, "guilds": { "railLabel": "Серверы", "listLabel": "Список серверов", "add": "Создать сервер", "addShort": "Создать сервер", "create": { "title": "Создать сервер", "name": "Название сервера", "namePlaceholder": "Например, «Друзья»", "hint": "Название можно изменить позже в настройках сервера.", "submit": "Создать", "limit": "На инстансе можно создать не более {{count}} серверов.", "limitReached": "Достигнут лимит серверов — создайте новый после удаления одного из текущих.", "template": "Шаблон сервера", "templateCounts": "{{text}} текст. · {{voice}} голос. · {{roles}} роли" }, "empty": { "title": "У вас пока нет серверов", "body": "Создайте свой сервер или присоединитесь по приглашению.", "create": "Создать свой сервер" }, "leave": "Покинуть сервер", "leaveConfirm": "Покинуть сервер «{{name}}»?", "switchTo": "Открыть сервер {{name}}" }, "channels": { "title": "Комнаты", "text": "Текстовые комнаты", "voice": "Голосовые комнаты", "category": "Категория", "empty": "В этом сервере пока нет видимых комнат.", "select": "Открыть комнату {{name}}", "add": "Создать комнату", "settings": "Настройки сервера", "create": { "title": "Новая комната", "name": "Название комнаты", "namePlaceholder": "например, общий-чат", "type": "Тип комнаты", "typeText": "Текстовая", "typeVoice": "Голосовая", "parent": "Категория", "noParent": "Без категории", "submit": "Создать" }, "chatPlaceholder": { "title": "Чат появится в Фазе 2", "body": "Комната «{{name}}» уже доступна. Отправка сообщений и голосовые каналы появятся в следующей фазе." }, "noSelection": { "title": "Выберите комнату", "body": "Слева — список серверов и комнат. Выберите комнату, чтобы открыть её." }, "notInGuild": { "title": "Сервер недоступен", "body": "Похоже, вы не состоите в этом сервере." }, "selectUnread": "Открыть комнату {{name}}, непрочитанных: {{count}}", "selectMentions": "Открыть комнату {{name}}, упоминаний: {{count}}", "slowmode": "медленный режим {{seconds}} с", "leaveHint": "Выйти из сервера можно в настройках сервера → «Опасная зона».", "invite": "Пригласить на сервер", "inviteTitle": "Приглашение на сервер", "inviteHint": "Ссылка действует ограниченное время. Отправьте её тому, кого хотите позвать.", "inviteCreating": "Создаём ссылку…", "inviteLink": "Ссылка приглашения", "inviteCopy": "Скопировать", "inviteCopied": "Скопировано", "inviteNew": "Новая ссылка", "settingsChannel": "Настройки комнаты" }, "voice": { "title": "Голосовая комната", "join": "Подключиться", "joining": "Подключение…", "connected": "Подключено", "reconnecting": "Переподключение…", "refreshing": "Продлеваем сессию…", "disconnect": "Отключиться", "disabled": "Голос не настроен на инстансе", "empty": "В комнате пока никого нет", "you": "Вы", "speaking": "Говорит", "muted": "Микрофон выключен", "soundOn": "Звук включён", "deafened": "Звук выключен", "cameraOn": "Камера включена", "screenOn": "Демонстрация экрана", "serverMuted": "Микрофон выключен модератором", "serverDeafened": "Звук выключен модератором", "speakingWhileMuted": "Вы говорите с выключенным микрофоном", "volume": "Громкость участника", "controls": "Управление голосом", "channelParticipants": "Участники комнаты «{{name}}»", "mic": { "on": "Включить микрофон", "off": "Выключить микрофон" }, "sound": { "on": "Включить звук", "off": "Выключить звук" }, "camera": { "on": "Включить камеру", "off": "Выключить камеру" }, "screen": { "on": "Начать демонстрацию экрана", "off": "Остановить демонстрацию экрана", "quality": "Качество демонстрации", "presets": { "1080p60": "1080p · 60 fps", "1080p30": "1080p · 30 fps", "720p30": "720p · 30 fps", "480p30": "480p · 30 fps" } }, "quality": { "excellent": "Отличное соединение", "good": "Хорошее соединение", "poor": "Плохое соединение", "lost": "Соединение потеряно", "unknown": "Соединение устанавливается" }, "menu": { "label": "Участник {{name}}", "moderation": "Модерация", "mute": "Выключить микрофон", "unmute": "Включить микрофон", "deafen": "Выключить звук", "undeafen": "Включить звук", "move": "Переместить", "moveTo": "Переместить в «{{name}}»" }, "channelMenu": { "label": "Голосовая комната {{name}}" }, "soundboard": { "title": "Саундборд", "open": "Открыть саундборд", "searchLabel": "Поиск звука", "searchPlaceholder": "Название звука", "empty": "На сервере пока нет звуков саундборда.", "noResults": "Ничего не найдено.", "playLabel": "Проиграть звук {{name}}", "rateLimited": "Слишком часто: повторите через {{seconds}} с.", "notConnected": "Сначала войдите в голосовую комнату.", "playedBy": "{{name}} включил звук «{{sound}}»" }, "stats": { "title": "Статистика", "open": "Открыть статистику соединения", "resolution": "Разрешение", "frameRate": "Частота кадров", "codec": "Кодек", "bitrate": "Битрейт", "kbps": "кбит/с", "ms": "мс", "rtt": "Задержка (RTT)", "packetLoss": "Потери пакетов", "jitter": "Джиттер" }, "publishQuality": { "label": "Качество видео", "short": { "low": "Низкое", "medium": "Среднее", "high": "Высокое" }, "level": { "low": "Низкое качество", "medium": "Среднее качество", "high": "Высокое качество" } }, "latency": "{{ms}} мс", "latencyHint": "задержка до голосового сервера", "latencyUnknown": "пинг неизвестен" }, "friends": { "rail": "Друзья", "title": "Друзья", "sidebarLabel": "Друзья и личные беседы", "sidebarHint": "Личные беседы живут здесь — в рейке серверов их нет.", "dmSection": "Личные беседы", "dmEmpty": "Личных бесед пока нет.", "friendsSection": "Друзья", "friendsEmpty": "Список друзей пуст.", "open": "Открыть беседу с {{name}}", "empty": { "title": "Добавь друзей для общения", "body": "Найдите человека по логину и отправьте заявку в друзья — после принятия появится личная беседа.", "search": "Найти друзей" }, "search": { "title": "Поиск друзей", "close": "Закрыть поиск", "label": "Поиск по логину", "placeholder": "Введите логин", "hint": "Введите минимум 2 символа.", "empty": "Никого не найдено.", "add": "Добавить в друзья", "adding": "Отправляем…", "requested": "Заявка отправлена", "friend": "Уже в друзьях", "message": "Написать", "open": "Поиск друзей" }, "requests": { "incoming": "Входящие заявки", "outgoing": "Исходящие заявки", "accept": "Принять", "decline": "Отклонить", "cancel": "Отменить" }, "list": { "label": "Список друзей", "message": "Написать", "more": "Действия: {{name}}", "menu": "Действия с {{name}}", "remove": "Удалить из друзей", "block": "Заблокировать", "toggle": "Друзья ({{count}})" }, "lastSeen": { "label": "Последний вход", "online": "Сейчас в сети", "unknown": "Не в сети давно", "at": "Был(а) в сети: {{time}}" }, "dm": { "unknown": "Собеседник", "notFound": { "title": "Беседа недоступна", "body": "Личная беседа не найдена: возможно, она удалена или доступ к ней закрыт." } } }, "invites": { "title": "Присоединиться по приглашению", "hint": "Вставьте код или ссылку вида https://<домен>/invite/<код>.", "label": "Код или ссылка приглашения", "placeholder": "например, ab12cd или https://дом/invite/ab12cd", "invalid": "Не удалось распознать код приглашения.", "join": "Присоединиться", "joining": "Присоединяемся…", "members": "Участников: {{count}}", "alreadyMember": "Вы уже на этом сервере" }, "chat": { "log": "Лента сообщений комнаты {{name}}", "loadMore": "Загрузить ещё", "loadingMore": "Загружаем…", "today": "Сегодня", "yesterday": "Вчера", "edited": "(изменено)", "pending": "отправляется…", "newMessages": "Новые сообщения", "adminBadge": "админ", "types": { "whisper": "шёпот", "scream": "громко", "private": "лично", "system": "Системное сообщение" }, "unknownAuthor": "неизвестный", "start": { "title": "Это начало комнаты #{{name}}", "body": "Здесь пока нет сообщений. Напишите первым — сообщение увидят все участники комнаты.", "directTitle": "Это начало личной беседы с {{name}}", "directBody": "Здесь пока нет сообщений. Напишите первым." }, "message": { "by": "Сообщение от {{name}} в комнате {{channel}}", "sentAt": "Отправлено {{time}}" }, "reply": { "to": "ответ {{name}}", "missing": "сообщение удалено", "composer": "Ответ {{name}}", "cancel": "Отменить ответ" }, "actions": { "menu": "Действия с сообщением", "reply": "Ответить", "react": "Реакция", "pin": "Закрепить", "unpin": "Открепить", "edit": "Изменить", "delete": "Удалить", "deleteConfirm": "Удалить это сообщение?", "copy": "Копировать текст" }, "reactions": { "title": "Реакции", "add": "Поставить реакцию {{emoji}}", "toggle": "Реакция {{emoji}}: {{count}}" }, "emoji": { "title": "Выбор эмодзи", "quick": "Быстрые реакции", "popular": "Популярные эмодзи", "pick": "Поставить реакцию {{emoji}}", "server": "Эмодзи сервера", "search": "Поиск эмодзи сервера", "searchPlaceholder": "Имя эмодзи", "notFound": "Ничего не найдено.", "pickServer": "Выбрать эмодзи {{name}}", "animated": "анимированный" }, "edit": { "label": "Редактирование сообщения", "hint": "Enter — сохранить, Escape — отменить", "save": "Сохранить", "cancel": "Отмена" }, "composer": { "label": "Сообщение в комнату {{name}}", "placeholder": "Написать в #{{name}}", "send": "Отправить", "hint": "Enter — отправить, Shift+Enter — новая строка", "attach": "Прикрепить файл", "fileInput": "Выбрать файлы", "uploading": "Загружаем вложения…", "attachments": "Вложения к сообщению", "removeAttachment": "Убрать вложение {{name}}", "counter": "{{count}}/{{max}}", "tooLarge": "Файл «{{name}}» больше допустимых {{limit}}", "rateLimited": "Слишком часто. Отправить можно будет через {{seconds}} с.", "denied": "Нет права отправлять сообщения в эту комнату.", "readOnly": "В эту комнату нельзя писать.", "directLabel": "Сообщение для {{name}}", "directPlaceholder": "Написать {{name}}", "autocomplete": { "hint": "↑/↓ — выбор, Enter — вставить, Escape — закрыть", "mentions": "Участники сервера", "channels": "Комнаты сервера", "emoji": "Эмодзи", "commands": "Команды" }, "commands": { "me": "действие: имя и текст курсивом", "whisper": "шёпот: приглушённое сообщение", "scream": "громко: крупный акцентный текст", "ls": "личное сообщение: /ls логин текст" }, "emoji": "Эмодзи" }, "typing_one": "{{names}} печатает…", "typing_few": "{{names}} печатают…", "typing_many": "{{names}} печатают…", "typing_other": "{{names}} печатают…", "pins": { "open": "Закреплённые сообщения", "title": "Закреплённые в #{{name}}", "empty": "В этой комнате пока нет закреплённых сообщений.", "jump": "Перейти" }, "search": { "open": "Поиск по комнате", "title": "Поиск по сообщениям", "label": "Строка поиска", "placeholder": "Поиск по сообщениям", "hint": "Введите не меньше двух символов.", "empty": "Ничего не найдено." }, "unread": "Непрочитанных сообщений: {{count}}", "mentions": "Упоминаний: {{count}}", "spoiler": { "show": "Показать спойлер", "hide": "Скрыть спойлер" }, "logDirect": "Личная беседа с {{name}}", "system": { "member": "участник", "memberJoin": "{{name}} присоединился к серверу", "memberKick": "{{name}} покинул сервер (исключён)", "channelCreated": "Комната #{{name}} создана", "voiceChannelCreated": "Голосовая комната {{name}} создана", "memberLeave": "{{name}} покинул сервер" }, "webhookBadge": "вебхук", "webhookAuthor": "вебхук" }, "user": { "panelLabel": "Панель пользователя", "settings": "Настройки пользователя", "menu": { "label": "Меню пользователя", "open": "Открыть меню пользователя", "account": "Настройки аккаунта", "guilds": "Настройки серверов", "status": "Статус", "noBio": "О себе пока не заполнено." }, "logout": "Выйти", "loggingOut": "Выходим…", "statusLabel": "Статус: {{status}}", "status": { "online": "В сети", "idle": "Неактивен", "dnd": "Не беспокоить", "invisible": "Невидимый", "offline": "Не в сети" }, "voice": { "input": "Устройство ввода", "output": "Устройство вывода", "camera": "Камера", "micVolume": "Громкость микрофона", "outputVolume": "Громкость звука", "micOn": "Включить микрофон", "micOff": "Выключить микрофон", "cameraOn": "Включить камеру", "cameraOff": "Выключить камеру", "soundOn": "Включить звук", "soundOff": "Выключить звук", "micSettings": "Настройки микрофона", "cameraSettings": "Настройки камеры", "soundSettings": "Настройки звука", "audioSettings": "Аудио-видео настройки" }, "devices": { "default": "Устройство по умолчанию", "unavailable": "Устройства недоступны", "empty": "Устройства не найдены", "unnamed": "Устройство {{index}}" } }, "gateway": { "label": "Соединение", "status": { "idle": "Не подключено", "connecting": "Подключаемся…", "connected": "Подключено", "reconnecting": "Переподключение…", "disconnected": "Соединение потеряно" }, "invalidated": "Сессия закрыта сервером. Войдите снова." }, "settings": { "title": "Настройки", "back": "В приложение", "switcher": { "label": "Разделы настроек", "account": "Настройки сервера", "servers": "Мои серверы" }, "tabs": { "label": "Разделы настроек", "profile": "Профиль", "security": "Безопасность", "appearance": "Внешний вид", "notifications": "Уведомления", "server": "Сервер", "voice": "Аудио-видео", "language": "Язык и регион", "instance": "Инстанс", "channel": "Комната" }, "profile": { "avatar.change": "Сменить аватар", "avatar.uploading": "Загружаем…", "title": "Профиль", "description": "Как вас видят другие участники.", "displayName": "Отображаемое имя", "bio": "О себе", "bioPlaceholder": "Пара слов о себе", "customStatus": "Своё состояние", "customStatusPlaceholder": "Например, «Пишу код»", "customStatusEmoji": "Эмодзи состояния", "customStatusEmojiPlaceholder": "🚀", "saved": "Профиль сохранён.", "username": "Имя пользователя", "badges": "Значки", "noBadges": "нет", "tabsLabel": "Вкладки профиля", "tabs": { "main": "Основной", "server": "Сервер" }, "timezoneDefault": "по умолчанию (МСК)", "avatar": { "change": "Сменить аватар", "choose": "Выбрать файл аватара", "remove": "Удалить аватар", "formats": "JPEG, PNG, WebP, GIF", "limit": "{{formats}} до {{limit}}", "tooLarge": "Файл больше {{limit}} — выберите картинку поменьше.", "uploading": "Загружаем…" }, "decorations": { "title": "Украшения", "hint": "Бейджи и рамки профиля.", "empty": "Украшений пока нет.", "stub": "Бейджи, рамки и эффекты профиля появятся позже." }, "style": { "title": "Оформление профиля", "description": "Рамка, иконка, цвет и эффект ника. Выбирать можно только то, что выдали роли: на сервере приоритет у роли, затем у пер-серверного стиля, затем у стиля «для друзей».", "scope": "Где применять", "scopeGlobal": "Для друзей (DM и глобальные места)", "preview": "предпросмотр", "frame": "Рамка аватара", "badge": "Иконка рядом с ником", "color": "Цвет ника", "colorDefault": "Как у роли", "effect": "Эффект ника", "none": "Без элемента", "noFrames": "Роли пока не выдали ни одной рамки — их выдаёт администратор сервера.", "noBadges": "Роли пока не выдали ни одной иконки.", "reset": "Сбросить стиль", "priorityHint": "Изменения применяются сразу.", "effects": { "none": "Без эффекта", "gradient": "Градиент", "glow": "Свечение", "fire": "Огонь", "shimmer": "Блик", "glitch": "Глитч" } } }, "security": { "title": "Безопасность", "description": "Пароль, активные сессии и двухфакторная аутентификация.", "passwordTitle": "Смена пароля", "currentPassword": "Текущий пароль", "newPassword": "Новый пароль", "confirmPassword": "Повторите новый пароль", "submitPassword": "Сменить пароль", "passwordChanged": "Пароль изменён.", "stepUpTitle": "Подтвердите личность", "stepUpBody": "Для этого действия сервер требует повторного ввода пароля{{totp}}.", "stepUpTotp": " и кода 2FA", "stepUpSubmit": "Подтвердить", "stepUpSuccess": "Личность подтверждена.", "stepUpExpired": "Подтверждение устарело, введите пароль заново.", "stepUpPassword": "Ваш пароль", "sessionsTitle": "Активные сессии", "sessionsEmpty": "Активных сессий нет.", "sessionCurrent": "текущая", "sessionCreated": "Создана", "sessionSeen": "Активность", "sessionIp": "IP", "sessionAgent": "Устройство", "unknownAgent": "Неизвестное устройство", "logoutAll": "Выйти на всех устройствах", "logoutAllConfirm": "Завершить все сессии, включая текущую?", "logoutAllDone": "Все сессии завершены.", "twoFactorTitle": "Двухфакторная аутентификация", "twoFactorEnabled": "2FA включена", "twoFactorDisabled": "2FA выключена", "twoFactorEnable": "Включить 2FA", "twoFactorSetupHint": "Добавьте секрет в приложение-аутентификатор, затем введите шестизначный код.", "twoFactorSecret": "Секрет", "twoFactorUri": "Ссылка otpauth", "twoFactorQrAlt": "QR-код для настройки 2FA", "twoFactorQrUnavailable": "QR-код недоступен — добавьте секрет вручную.", "twoFactorCode": "Код из приложения", "twoFactorConfirm": "Включить", "twoFactorEnabledDone": "2FA включена. Сохраните коды восстановления.", "recoveryTitle": "Коды восстановления", "recoveryHint": "Каждый код одноразовый. Они показываются только один раз.", "recoveryCopyAll": "Скопировать все коды" }, "appearance": { "title": "Внешний вид", "description": "Тема и язык интерфейса. Хранятся локально в браузере.", "theme": "Тема", "themeHint": "Тёмная тема включена по умолчанию.", "language": "Язык", "languageHint": "Русский — основной язык интерфейса." }, "instance": { "title": "Инстанс", "description": "Только для администратора инстанса. Данные только для чтения.", "notAdmin": "Раздел доступен только администратору инстанса.", "settings": "Настройки инстанса", "settingsEmpty": "Настройки не заданы.", "guilds": "Серверы ({{count}})", "guildsEmpty": "Серверов нет.", "userId": "ID пользователя", "users": "Пользователи ({{count}})", "usersEmpty": "Пользователей нет.", "audit": "Журнал аудита (последние {{count}})", "auditEmpty": "Записей нет.", "memberCount": "{{count}} участн.", "adminBadge": "админ", "mainBadge": "главный", "usersIdHint": "ID пользователей видны только администратору инстанса.", "dashboard": { "title": "Дашборд сервера", "refreshHint": "обновляется раз в секунду", "cpu": "Процессор", "cpuCaption_one": "{{count}} ядро", "cpuCaption_few": "{{count}} ядра", "cpuCaption_many": "{{count}} ядер", "cpuCaption_other": "{{count}} ядра", "memory": "Память", "diskHint": "Диск: занято / всего. Свободно {{free}}", "databaseHint": "База данных: файл и журнал WAL ({{wal}})", "containerRow": "Контейнер инстанса", "containerHint": "Лимиты профиля", "hostRow": "Сервер целиком", "hostHint": "Вся машина" }, "health": { "title": "Healthcheck инстанса", "collecting": "Собираем данные…", "unavailable": "Инстанс не отвечает на запросы дашборда.", "ping": "Пинг", "pingValue": "{{ms}} мс", "pingUnavailable": "—", "pingHint": "Время ответа инстанса на запрос дашборда (HTTP)", "summary": { "ok": "Всё в порядке", "warn": "Есть предупреждения", "failed": "Есть ошибки" }, "status": { "ok": "работает", "warn": "внимание", "failed": "ошибка", "off": "выключено" }, "checks": { "app": "Приложение", "database": "База данных", "disk": "Диск", "storage": "Запись данных", "voice": "Голос (SFU)", "gateway": "Gateway", "metrics": "Метрики" } } }, "servers": { "pickerLabel": "Мои серверы", "empty": "У вас пока нет серверов.", "emptyTitle": "Пока нет ни одного сервера", "emptyHint": "Присоединитесь к главному серверу инстанса или создайте свой — тогда здесь появятся его настройки.", "select": "Открыть настройки сервера {{name}}", "notFound": "Сервер не найден среди доступных вам.", "readOnlyHint": "Редактирование доступно владельцу сервера и участникам с правами ADMINISTRATOR или MANAGE_GUILD.", "general": { "title": "Общее", "description": "Название и описание сервера видят все участники.", "name": "Название сервера", "guildDescription": "Описание", "descriptionPlaceholder": "О чём этот сервер", "saved": "Настройки сервера сохранены." }, "nickname": { "title": "Мой профиль на сервере", "description": "Никнейм виден только на этом сервере.", "label": "Никнейм", "placeholder": "Оставьте пустым, чтобы сбросить ник", "current": "Текущий никнейм:", "none": "не задан", "saved": "Никнейм сохранён.", "applyAll": "Применить ко всем серверам", "applyAllHint": "Один ник для всех серверов, где вы состоите.", "applyAllPending": "Применяем…", "applyAllProgress": "Обновлено серверов: {{done}} из {{total}}", "applyAllDone": "Никнейм применён на всех серверах ({{total}}).", "applyAllFailed": "Не удалось обновить серверов: {{failed}}." }, "members": { "title": "Участники", "description": "Первые {{limit}} участников сервера.", "empty": "Участники не найдены.", "roles": "Ролей: {{roles}}", "more": "Полный список участников с ролями появится в следующих фазах.", "moderate": "Модерировать {{name}}", "timeout": "Тайм-аут", "timeoutClear": "Снять тайм-аут", "banReason": "Причина бана", "banReasonPlaceholder": "необязательно", "ban": "Забанить", "kick": "Исключить" }, "roles": { "title": "Роли", "description": "Цвет и позиция ролей. Управление ролями появится в следующих фазах.", "empty": "На сервере пока нет ролей.", "position": "Позиция {{position}}", "default": "по умолчанию", "frame": "Рамка", "badge": "Иконка", "nickColor": "Цвет ника", "nickEffect": "Эффект ника", "decorationSaved": "Оформление роли сохранено." }, "danger": { "title": "Опасная зона", "description": "Эти действия необратимы.", "leaveOwnerHint": "Владелец не может покинуть свой сервер: сначала передайте владение или удалите сервер.", "leaveHint": "Выйти из сервера и потерять доступ к его комнатам.", "leave": "Покинуть сервер", "leaveConfirmTitle": "Покинуть сервер?", "leaveConfirmBody": "Вы выйдете из сервера «{{name}}». Вернуться можно будет по приглашению.", "leaveConfirm": "Покинуть", "deleteHint": "Удалить сервер вместе с комнатами, ролями и участниками.", "delete": "Удалить сервер", "deleteConfirmTitle": "Удалить сервер?", "deleteConfirmBody": "Сервер «{{name}}» будет удалён без возможности восстановления.", "deleteConfirm": "Удалить" }, "selectLabel": "Выбрать сервер", "emojis": { "title": "Эмодзи", "description": "Кастомные эмодзи сервера: до {{limit}} штук, каждый до 512 КБ.", "counter": "{{count}} из {{limit}}", "empty": "На сервере пока нет эмодзи.", "animated": "анимированный", "rename": "Переименовать", "renameLabel": "Переименовать эмодзи {{name}}", "renameTitle": "Переименовать эмодзи", "delete": "Удалить", "deleteLabel": "Удалить эмодзи {{name}}", "deleteConfirmTitle": "Удалить эмодзи?", "deleteConfirmBody": "Эмодзи {{name}} будет удалён без возможности восстановления.", "deleteConfirm": "Удалить", "uploadTitle": "Загрузить эмодзи", "uploadHint": "Перетащите файл в область ниже или выберите его: PNG, JPEG, WebP или GIF до {{limit}}.", "name": "Имя эмодзи", "namePlaceholder": "например, pepe_happy", "nameHint": "2–32 символа: латиница, цифры и «_».", "dropHint": "Перетащите файл сюда", "chooseFile": "Выбрать файл", "file": "Файл эмодзи", "fileSelected": "{{name}} · {{size}}", "upload": "Загрузить", "uploading": "Загружаем…" }, "sounds": { "title": "Звуки", "description": "Саундборд и звуковая палитра сервера: до {{limit}} звуков каждого вида, каждый до 512 КБ.", "counter": "{{count}} из {{limit}}", "empty": "Звуков этого вида пока нет.", "uploadTitle": "Загрузить звук", "uploadHint": "Перетащите файл в область ниже или выберите его: MP3, OGG, WAV, WebM или M4A до {{limit}}.", "name": "Имя звука", "namePlaceholder": "например, airhorn", "nameHint": "2–32 символа: латиница, цифры и «_».", "emoji": "Эмодзи", "emojiPlaceholder": "например, 📣", "emojiHint": "Необязательная иконка для сетки саундборда.", "event": "Событие", "dropHint": "Перетащите файл сюда", "file": "Файл звука", "chooseFile": "Выбрать файл", "fileSelected": "{{name}} · {{size}}", "upload": "Загрузить", "uploading": "Загружаем…", "rename": "Переименовать", "renameLabel": "Переименовать звук {{name}}", "renameTitle": "Переименовать звук", "delete": "Удалить", "deleteLabel": "Удалить звук {{name}}", "deleteConfirmTitle": "Удалить звук?", "deleteConfirmBody": "Звук {{name}} будет удалён без возможности восстановления.", "deleteConfirm": "Удалить", "kinds": { "soundboard": "Саундборд", "ui": "Звуковая палитра" }, "events": { "member_join": "Участник присоединился", "member_leave": "Участник вышел", "mention": "Упоминание", "message": "Новое сообщение", "message_send": "Отправка сообщения", "voice_join": "Вход в голосовую комнату", "voice_leave": "Выход из голосовой комнаты", "mic_on": "Микрофон включён", "mic_off": "Микрофон выключен", "camera_on": "Камера включена", "camera_off": "Камера выключена", "screen_on": "Демонстрация начата", "screen_off": "Демонстрация остановлена", "kick": "Исключение участника", "ban": "Бан участника", "mute": "Мьют участника", "role_grant": "Выдача роли", "role_revoke": "Снятие роли" } }, "bans": { "title": "Баны", "description": "Забаненные не могут вернуться по приглашению, пока бан не снят.", "empty": "Забаненных нет.", "remove": "Снять бан", "noReason": "без причины", "bannedBy": "забанил {{name}}, {{date}}", "unknownActor": "неизвестный", "timeoutLabel": "Тайм-аут:", "timeoutMinutes_one": "{{count}} минута", "timeoutMinutes_few": "{{count}} минуты", "timeoutMinutes_many": "{{count}} минут", "timeoutMinutes_other": "{{count}} минуты", "timeoutAction": "Тайм-аут {{minutes}} мин" }, "audit": { "title": "Журнал аудита", "description": "Действия модераторов сервера. Фильтры уходят в запрос.", "filterAction": "Действие", "filterActor": "ID автора", "filterTarget": "ID цели", "apply": "Показать", "reset": "Сбросить", "empty": "Записей нет." }, "appearance": { "title": "Оформление", "description": "Иконка, баннер, splash страницы приглашения и акцентный цвет сервера.", "icon": "Иконка сервера", "iconHint": "Квадратная картинка: показывается в списке серверов.", "banner": "Баннер", "bannerHint": "Широкая картинка для шапки сервера.", "splash": "Splash приглашения", "splashHint": "Фон страницы приглашения по ссылке.", "accent": "Акцентный цвет", "accentHint": "Цвет кнопок и выделений внутри сервера.", "accentDefault": "Цвет темы", "accentBlurple": "Синий", "accentGreen": "Зелёный", "accentOrange": "Оранжевый", "accentRed": "Красный", "accentPurple": "Фиолетовый", "upload": "Загрузить", "remove": "Удалить", "empty": "нет", "notImage": "Нужен файл изображения (PNG, JPEG, GIF, WebP).", "tooLarge": "Файл больше 8 МБ." }, "cosmetics": { "title": "Галерея оформления", "description": "Рамки аватара и иконки рядом с ником. Загруженные элементы выдаются ролям в разделе «Роли»; анимированные GIF и WebP сохраняют анимацию.", "upload": "Загрузить", "empty": "Пока ничего не загружено.", "limit": "занято {{used}} из {{total}}", "name": "Имя элемента", "notImage": "Нужен файл изображения", "tooLarge": "Файл больше 5 МБ", "deleteConfirm": "Удалить элемент? Он исчезнет у всех ролей и в личных стилях.", "kind": { "frame": "Рамки", "badge": "Иконки" } } }, "navLabel": "Пункты настроек", "notifications": { "title": "Уведомления", "description": "Звуки, упоминания и веб-пуш.", "stub": "Настройки уведомлений появятся позже." }, "voice": { "title": "Аудио-видео", "description": "Устройства ввода и вывода и громкость. Изменения применяются к текущей голосовой комнате сразу.", "input": "Микрофон", "camera": "Камера", "output": "Звук", "micVolume": "Громкость микрофона", "outputVolume": "Громкость звука", "stub": "Изменения применяются сразу и сохраняются на этом устройстве.", "micMode": "Активация микрофона", "micModes": { "voice": "Голосовая активация", "push_to_talk": "Push-to-talk" }, "pttKey": "Клавиша", "pttHint": "Удерживайте клавишу, чтобы говорить. Работает, когда окно в фокусе и курсор не в поле ввода.", "pttKeys": { "space": "Пробел", "v": "V", "b": "B", "n": "N", "alt": "Alt", "ctrl": "Ctrl" }, "sounds": "Звуки", "eventSounds": "Звуки событий сервера", "eventSoundsHint": "Проигрывать звуки палитры сервера: вход участника, упоминания и другие события.", "soundboard": "Саундборд", "soundboardHint": "Проигрывать звуки саундборда в голосовой комнате.", "latency": "Пинг участников", "latencySharing": "Показывать пинг в голосовой комнате", "latencySharingHint": "Задержка участников до инстанса обновляется раз в секунду; свой пинг публикуется в комнате.", "interfaceSounds": "Встроенные звуки интерфейса", "interfaceSoundsHint": "Короткие сигналы сообщений, упоминаний и входов в голосовую, если на сервере не загружен свой звук." }, "language": { "title": "Язык и регион", "description": "Часовой пояс и язык интерфейса.", "timezone": "Часовой пояс", "timezoneHint": "Используется для времени сообщений.", "locale": "Язык интерфейса", "localeHint": "Переключается сразу.", "saved": "Настройки региона сохранены." }, "channel": { "noGuild": "Выберите сервер, чтобы настроить комнату.", "noChannels": "В этом сервере нет текстовых комнат.", "pick": "Комната", "noPermission": "Управлять комнатой может владелец сервера и участники с правом MANAGE_WEBHOOKS.", "webhooks": { "title": "Вебхуки", "description": "Вебхук отправляет сообщения в комнату без пользовательской сессии: запрос идёт на ссылку с токеном.", "empty": "Вебхуков пока нет.", "create": "Создать вебхук", "name": "Имя вебхука", "avatar": "Аватар", "avatarHint": "PNG, JPEG, WebP или GIF до 2 МБ.", "submit": "Создать", "rename": "Переименовать", "rotate": "Новая ссылка", "url": "Ссылка вебхука", "createdAt": "создан {{date}}", "limit": "занято {{count}}", "deleteConfirm": "Удалить вебхук? Ссылка перестанет работать, уже отправленные сообщения останутся.", "stepUpBody": "Создание вебхука требует подтверждения личности: введите пароль{{totp}}." }, "title": "Фон комнаты", "description": "Картинка за лентой сообщений. Анимированные GIF и WebP сохраняют анимацию; при системной настройке «уменьшить движение» показывается первый кадр.", "empty": "Фон не задан.", "upload": "Загрузить фон", "remove": "Убрать фон", "notImage": "Нужен файл изображения", "tooLarge": "Файл больше 5 МБ" } } }