2026-09-19 18:20:59 +03:00
|
|
|
|
{
|
|
|
|
|
|
"app": {
|
|
|
|
|
|
"name": "glchat",
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"tagline": "Self-hosted общение: текст, голос, видео",
|
|
|
|
|
|
"skipToContent": "Перейти к содержимому"
|
2026-09-19 18:20:59 +03:00
|
|
|
|
},
|
|
|
|
|
|
"status": {
|
|
|
|
|
|
"title": "Фундамент развёрнут",
|
|
|
|
|
|
"description": "Сервер отвечает, база данных в режиме WAL, миграции применены. Функции общения появятся в следующих фазах.",
|
|
|
|
|
|
"connecting": "Проверяем состояние сервера…",
|
|
|
|
|
|
"instance": "Инстанс",
|
|
|
|
|
|
"version": "Версия",
|
|
|
|
|
|
"apiVersion": "Версия API",
|
|
|
|
|
|
"schemaReady": "База данных",
|
|
|
|
|
|
"schemaOk": "готова",
|
|
|
|
|
|
"maxUpload": "Максимальный размер загрузки",
|
|
|
|
|
|
"checks": "Проверки",
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"retry": "Повторить",
|
|
|
|
|
|
"back": "Назад",
|
|
|
|
|
|
"users": "Пользователей",
|
|
|
|
|
|
"guilds": "Серверов",
|
|
|
|
|
|
"registration": "Регистрация"
|
2026-09-19 18:20:59 +03:00
|
|
|
|
},
|
|
|
|
|
|
"health": {
|
|
|
|
|
|
"online": "Сервер доступен",
|
|
|
|
|
|
"offline": "Сервер недоступен"
|
|
|
|
|
|
},
|
|
|
|
|
|
"errors": {
|
|
|
|
|
|
"network.unreachable": "Сервер не отвечает. Проверьте соединение и повторите попытку.",
|
|
|
|
|
|
"network.aborted": "Запрос отменён.",
|
|
|
|
|
|
"instance.not_ready": "Инстанс ещё запускается. Повторите через несколько секунд.",
|
|
|
|
|
|
"internal.error": "Внутренняя ошибка сервера.",
|
|
|
|
|
|
"not_found": "Запрашиваемый ресурс не найден.",
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"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": "Проверьте заполненные поля.",
|
2026-09-20 00:15:18 +03:00
|
|
|
|
"rate.limited": "Слишком много запросов. Подождите немного.",
|
|
|
|
|
|
"perm.denied": "Недостаточно прав для этого действия.",
|
|
|
|
|
|
"rate_limited": "Слишком много запросов. Подождите немного.",
|
|
|
|
|
|
"message.edit_window_expired": "Сообщение нельзя изменить: прошло больше 24 часов.",
|
|
|
|
|
|
"file.too_large": "Файл больше допустимого размера.",
|
|
|
|
|
|
"request.bad": "Некорректный запрос.",
|
2026-09-20 01:39:04 +03:00
|
|
|
|
"file.not_found": "Файл не найден.",
|
|
|
|
|
|
"invite.expired": "Срок действия приглашения истёк.",
|
|
|
|
|
|
"invite.exhausted": "У приглашения больше не осталось использований.",
|
2026-09-20 18:13:04 +03:00
|
|
|
|
"user.not_found": "Пользователь с таким логином не найден.",
|
|
|
|
|
|
"emoji": {
|
|
|
|
|
|
"name_taken": "Эмодзи с таким именем уже есть.",
|
|
|
|
|
|
"invalid_type": "Поддерживаются PNG, JPEG, WebP и GIF.",
|
|
|
|
|
|
"invalid_name": "Имя эмодзи: 2–32 символа, латиница, цифры и «_»."
|
|
|
|
|
|
},
|
|
|
|
|
|
"emojis": {
|
|
|
|
|
|
"limit_reached": "На сервере достигнут лимит эмодзи."
|
2026-09-20 18:38:54 +03:00
|
|
|
|
},
|
|
|
|
|
|
"voice.disabled": "Голос не настроен на инстансе.",
|
|
|
|
|
|
"voice.channel_full": "В комнате нет свободных мест.",
|
2026-09-20 19:30:43 +03:00
|
|
|
|
"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": "Сначала войдите в голосовую комнату."
|
2026-09-19 18:20:59 +03:00
|
|
|
|
},
|
|
|
|
|
|
"theme": {
|
|
|
|
|
|
"switchToLight": "Светлая тема",
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"switchToDark": "Тёмная тема",
|
|
|
|
|
|
"label": "Тема",
|
|
|
|
|
|
"dark": "Тёмная",
|
|
|
|
|
|
"light": "Светлая"
|
2026-09-19 18:20:59 +03:00
|
|
|
|
},
|
|
|
|
|
|
"language": {
|
|
|
|
|
|
"label": "Язык",
|
|
|
|
|
|
"ru": "Русский",
|
|
|
|
|
|
"en": "English"
|
|
|
|
|
|
},
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"common": {
|
|
|
|
|
|
"loading": "Загрузка…",
|
|
|
|
|
|
"retry": "Повторить",
|
|
|
|
|
|
"cancel": "Отмена",
|
|
|
|
|
|
"close": "Закрыть",
|
|
|
|
|
|
"save": "Сохранить",
|
|
|
|
|
|
"saving": "Сохраняем…",
|
|
|
|
|
|
"create": "Создать",
|
|
|
|
|
|
"creating": "Создаём…",
|
|
|
|
|
|
"join": "Присоединиться",
|
|
|
|
|
|
"leave": "Покинуть",
|
|
|
|
|
|
"back": "Назад",
|
|
|
|
|
|
"copy": "Скопировать",
|
|
|
|
|
|
"copied": "Скопировано",
|
|
|
|
|
|
"yes": "Да",
|
|
|
|
|
|
"no": "Нет",
|
|
|
|
|
|
"optional": "необязательно",
|
|
|
|
|
|
"dismiss": "Скрыть"
|
|
|
|
|
|
},
|
2026-09-19 18:20:59 +03:00
|
|
|
|
"footer": {
|
|
|
|
|
|
"source": "Исходный код",
|
|
|
|
|
|
"license": "AGPL-3.0"
|
2026-09-19 21:50:06 +03:00
|
|
|
|
},
|
|
|
|
|
|
"auth": {
|
|
|
|
|
|
"login": {
|
|
|
|
|
|
"title": "Вход",
|
|
|
|
|
|
"subtitle": "Войдите, чтобы продолжить общение",
|
|
|
|
|
|
"email": "Почта",
|
|
|
|
|
|
"emailPlaceholder": "you@example.com",
|
|
|
|
|
|
"password": "Пароль",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"totp": "Код 2FA или резервный код",
|
|
|
|
|
|
"totpHint": "Если 2FA включена; можно ввести резервный код вида xxxx-xxxx-xxxx.",
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"submit": "Войти",
|
|
|
|
|
|
"submitting": "Входим…",
|
|
|
|
|
|
"noAccount": "Ещё нет аккаунта?",
|
|
|
|
|
|
"registerLink": "Зарегистрироваться",
|
|
|
|
|
|
"forgot": "Пароль забыт? Обратитесь к администратору инстанса.",
|
|
|
|
|
|
"instanceStatus": "Состояние инстанса",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"registrationDisabled": "Регистрация на этом инстансе выключена администратором.",
|
|
|
|
|
|
"totpRequired": "Введите код 2FA или резервный код — без него вход невозможен."
|
2026-09-19 21:50:06 +03:00
|
|
|
|
},
|
|
|
|
|
|
"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": "Создать",
|
2026-09-19 22:03:46 +03:00
|
|
|
|
"limit": "На инстансе можно создать не более {{count}} серверов.",
|
|
|
|
|
|
"limitReached": "Достигнут лимит серверов — создайте новый после удаления одного из текущих."
|
2026-09-19 21:50:06 +03:00
|
|
|
|
},
|
|
|
|
|
|
"empty": {
|
2026-09-20 01:39:04 +03:00
|
|
|
|
"title": "У вас пока нет серверов",
|
2026-09-20 01:52:27 +03:00
|
|
|
|
"body": "Создайте свой сервер или присоединитесь по приглашению.",
|
|
|
|
|
|
"create": "Создать свой сервер"
|
2026-09-19 21:50:06 +03:00
|
|
|
|
},
|
|
|
|
|
|
"leave": "Покинуть сервер",
|
|
|
|
|
|
"leaveConfirm": "Покинуть сервер «{{name}}»?",
|
|
|
|
|
|
"switchTo": "Открыть сервер {{name}}"
|
|
|
|
|
|
},
|
|
|
|
|
|
"channels": {
|
|
|
|
|
|
"title": "Комнаты",
|
|
|
|
|
|
"text": "Текстовые комнаты",
|
|
|
|
|
|
"voice": "Голосовые комнаты",
|
|
|
|
|
|
"category": "Категория",
|
|
|
|
|
|
"empty": "В этом сервере пока нет видимых комнат.",
|
|
|
|
|
|
"select": "Открыть комнату {{name}}",
|
|
|
|
|
|
"add": "Создать комнату",
|
2026-09-19 23:33:34 +03:00
|
|
|
|
"settings": "Настройки сервера",
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"create": {
|
|
|
|
|
|
"title": "Новая комната",
|
|
|
|
|
|
"name": "Название комнаты",
|
|
|
|
|
|
"namePlaceholder": "например, общий-чат",
|
|
|
|
|
|
"type": "Тип комнаты",
|
|
|
|
|
|
"typeText": "Текстовая",
|
|
|
|
|
|
"typeVoice": "Голосовая",
|
|
|
|
|
|
"parent": "Категория",
|
|
|
|
|
|
"noParent": "Без категории",
|
|
|
|
|
|
"submit": "Создать"
|
|
|
|
|
|
},
|
|
|
|
|
|
"chatPlaceholder": {
|
|
|
|
|
|
"title": "Чат появится в Фазе 2",
|
|
|
|
|
|
"body": "Комната «{{name}}» уже доступна. Отправка сообщений и голосовые каналы появятся в следующей фазе."
|
|
|
|
|
|
},
|
|
|
|
|
|
"noSelection": {
|
|
|
|
|
|
"title": "Выберите комнату",
|
|
|
|
|
|
"body": "Слева — список серверов и комнат. Выберите комнату, чтобы открыть её."
|
|
|
|
|
|
},
|
|
|
|
|
|
"notInGuild": {
|
|
|
|
|
|
"title": "Сервер недоступен",
|
|
|
|
|
|
"body": "Похоже, вы не состоите в этом сервере."
|
2026-09-20 00:15:18 +03:00
|
|
|
|
},
|
|
|
|
|
|
"selectUnread": "Открыть комнату {{name}}, непрочитанных: {{count}}",
|
|
|
|
|
|
"selectMentions": "Открыть комнату {{name}}, упоминаний: {{count}}",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"slowmode": "медленный режим {{seconds}} с",
|
|
|
|
|
|
"leaveHint": "Выйти из сервера можно в настройках сервера → «Опасная зона»."
|
2026-09-20 00:15:18 +03:00
|
|
|
|
},
|
2026-09-20 18:38:54 +03:00
|
|
|
|
"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": "Начать демонстрацию экрана",
|
2026-09-20 19:30:43 +03:00
|
|
|
|
"off": "Остановить демонстрацию экрана",
|
|
|
|
|
|
"quality": "Качество демонстрации",
|
|
|
|
|
|
"presets": {
|
|
|
|
|
|
"1080p60": "1080p · 60 fps",
|
|
|
|
|
|
"1080p30": "1080p · 30 fps",
|
|
|
|
|
|
"720p30": "720p · 30 fps",
|
|
|
|
|
|
"480p30": "480p · 30 fps"
|
|
|
|
|
|
}
|
2026-09-20 18:38:54 +03:00
|
|
|
|
},
|
|
|
|
|
|
"quality": {
|
|
|
|
|
|
"excellent": "Отличное соединение",
|
|
|
|
|
|
"good": "Хорошее соединение",
|
|
|
|
|
|
"poor": "Плохое соединение",
|
|
|
|
|
|
"lost": "Соединение потеряно",
|
|
|
|
|
|
"unknown": "Соединение устанавливается"
|
|
|
|
|
|
},
|
|
|
|
|
|
"menu": {
|
|
|
|
|
|
"label": "Участник {{name}}",
|
|
|
|
|
|
"moderation": "Модерация",
|
|
|
|
|
|
"mute": "Выключить микрофон",
|
|
|
|
|
|
"unmute": "Включить микрофон",
|
|
|
|
|
|
"deafen": "Выключить звук",
|
|
|
|
|
|
"undeafen": "Включить звук",
|
|
|
|
|
|
"move": "Переместить",
|
|
|
|
|
|
"moveTo": "Переместить в «{{name}}»"
|
|
|
|
|
|
},
|
|
|
|
|
|
"channelMenu": {
|
|
|
|
|
|
"label": "Голосовая комната {{name}}"
|
2026-09-20 19:30:43 +03:00
|
|
|
|
},
|
|
|
|
|
|
"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": "Высокое качество"
|
|
|
|
|
|
}
|
2026-09-20 22:10:17 +03:00
|
|
|
|
},
|
|
|
|
|
|
"latency": "{{ms}} мс",
|
|
|
|
|
|
"latencyHint": "Пинг участника до инстанса",
|
|
|
|
|
|
"latencyUnknown": "пинг неизвестен"
|
2026-09-20 18:38:54 +03:00
|
|
|
|
},
|
2026-09-20 01:39:04 +03:00
|
|
|
|
"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": "Уже в друзьях",
|
2026-09-20 01:52:27 +03:00
|
|
|
|
"message": "Написать",
|
|
|
|
|
|
"open": "Поиск друзей"
|
2026-09-20 01:39:04 +03:00
|
|
|
|
},
|
|
|
|
|
|
"requests": {
|
|
|
|
|
|
"incoming": "Входящие заявки",
|
|
|
|
|
|
"outgoing": "Исходящие заявки",
|
|
|
|
|
|
"accept": "Принять",
|
|
|
|
|
|
"decline": "Отклонить",
|
|
|
|
|
|
"cancel": "Отменить"
|
|
|
|
|
|
},
|
|
|
|
|
|
"list": {
|
|
|
|
|
|
"label": "Список друзей",
|
|
|
|
|
|
"message": "Написать",
|
|
|
|
|
|
"more": "Действия: {{name}}",
|
|
|
|
|
|
"menu": "Действия с {{name}}",
|
|
|
|
|
|
"remove": "Удалить из друзей",
|
2026-09-20 11:24:09 +03:00
|
|
|
|
"block": "Заблокировать",
|
|
|
|
|
|
"toggle": "Друзья ({{count}})"
|
2026-09-20 01:39:04 +03:00
|
|
|
|
},
|
|
|
|
|
|
"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": "Вы уже на этом сервере"
|
|
|
|
|
|
},
|
2026-09-20 00:15:18 +03:00
|
|
|
|
"chat": {
|
|
|
|
|
|
"log": "Лента сообщений комнаты {{name}}",
|
|
|
|
|
|
"loadMore": "Загрузить ещё",
|
|
|
|
|
|
"loadingMore": "Загружаем…",
|
|
|
|
|
|
"today": "Сегодня",
|
|
|
|
|
|
"yesterday": "Вчера",
|
|
|
|
|
|
"edited": "(изменено)",
|
|
|
|
|
|
"pending": "отправляется…",
|
|
|
|
|
|
"newMessages": "Новые сообщения",
|
|
|
|
|
|
"adminBadge": "админ",
|
2026-09-20 12:06:22 +03:00
|
|
|
|
"types": {
|
|
|
|
|
|
"whisper": "шёпот",
|
|
|
|
|
|
"scream": "громко",
|
|
|
|
|
|
"private": "лично",
|
|
|
|
|
|
"system": "Системное сообщение"
|
|
|
|
|
|
},
|
2026-09-20 00:15:18 +03:00
|
|
|
|
"unknownAuthor": "неизвестный",
|
|
|
|
|
|
"start": {
|
|
|
|
|
|
"title": "Это начало комнаты #{{name}}",
|
2026-09-20 01:39:04 +03:00
|
|
|
|
"body": "Здесь пока нет сообщений. Напишите первым — сообщение увидят все участники комнаты.",
|
|
|
|
|
|
"directTitle": "Это начало личной беседы с {{name}}",
|
|
|
|
|
|
"directBody": "Здесь пока нет сообщений. Напишите первым."
|
2026-09-20 00:15:18 +03:00
|
|
|
|
},
|
|
|
|
|
|
"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": "Популярные эмодзи",
|
2026-09-20 18:13:04 +03:00
|
|
|
|
"pick": "Поставить реакцию {{emoji}}",
|
|
|
|
|
|
"server": "Эмодзи сервера",
|
|
|
|
|
|
"search": "Поиск эмодзи сервера",
|
|
|
|
|
|
"searchPlaceholder": "Имя эмодзи",
|
|
|
|
|
|
"notFound": "Ничего не найдено.",
|
|
|
|
|
|
"pickServer": "Выбрать эмодзи {{name}}",
|
|
|
|
|
|
"animated": "анимированный"
|
2026-09-20 00:15:18 +03:00
|
|
|
|
},
|
|
|
|
|
|
"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": "Нет права отправлять сообщения в эту комнату.",
|
2026-09-20 01:39:04 +03:00
|
|
|
|
"readOnly": "В эту комнату нельзя писать.",
|
|
|
|
|
|
"directLabel": "Сообщение для {{name}}",
|
2026-09-20 12:06:22 +03:00
|
|
|
|
"directPlaceholder": "Написать {{name}}",
|
|
|
|
|
|
"autocomplete": {
|
|
|
|
|
|
"hint": "↑/↓ — выбор, Enter — вставить, Escape — закрыть",
|
|
|
|
|
|
"mentions": "Участники сервера",
|
|
|
|
|
|
"channels": "Комнаты сервера",
|
|
|
|
|
|
"emoji": "Эмодзи",
|
|
|
|
|
|
"commands": "Команды"
|
|
|
|
|
|
},
|
|
|
|
|
|
"commands": {
|
|
|
|
|
|
"me": "действие: имя и текст курсивом",
|
|
|
|
|
|
"whisper": "шёпот: приглушённое сообщение",
|
|
|
|
|
|
"scream": "громко: крупный акцентный текст",
|
|
|
|
|
|
"ls": "личное сообщение: /ls логин текст"
|
2026-09-20 18:13:04 +03:00
|
|
|
|
},
|
|
|
|
|
|
"emoji": "Эмодзи"
|
2026-09-20 00:15:18 +03:00
|
|
|
|
},
|
|
|
|
|
|
"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}}",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"mentions": "Упоминаний: {{count}}",
|
|
|
|
|
|
"spoiler": {
|
|
|
|
|
|
"show": "Показать спойлер",
|
|
|
|
|
|
"hide": "Скрыть спойлер"
|
2026-09-20 01:39:04 +03:00
|
|
|
|
},
|
2026-09-20 18:13:04 +03:00
|
|
|
|
"logDirect": "Личная беседа с {{name}}",
|
|
|
|
|
|
"system": {
|
|
|
|
|
|
"member": "участник",
|
|
|
|
|
|
"memberJoin": "{{name}} присоединился к серверу",
|
|
|
|
|
|
"memberKick": "{{name}} покинул сервер (исключён)",
|
|
|
|
|
|
"channelCreated": "Комната #{{name}} создана",
|
2026-09-20 19:30:43 +03:00
|
|
|
|
"voiceChannelCreated": "Голосовая комната {{name}} создана",
|
|
|
|
|
|
"memberLeave": "{{name}} покинул сервер"
|
2026-09-20 18:13:04 +03:00
|
|
|
|
}
|
2026-09-19 21:50:06 +03:00
|
|
|
|
},
|
|
|
|
|
|
"user": {
|
|
|
|
|
|
"panelLabel": "Панель пользователя",
|
|
|
|
|
|
"settings": "Настройки пользователя",
|
2026-09-19 23:33:34 +03:00
|
|
|
|
"menu": {
|
|
|
|
|
|
"label": "Меню пользователя",
|
|
|
|
|
|
"open": "Открыть меню пользователя",
|
|
|
|
|
|
"account": "Настройки аккаунта",
|
|
|
|
|
|
"guilds": "Настройки серверов",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"status": "Статус",
|
|
|
|
|
|
"noBio": "О себе пока не заполнено."
|
2026-09-19 23:33:34 +03:00
|
|
|
|
},
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"logout": "Выйти",
|
|
|
|
|
|
"loggingOut": "Выходим…",
|
|
|
|
|
|
"statusLabel": "Статус: {{status}}",
|
|
|
|
|
|
"status": {
|
|
|
|
|
|
"online": "В сети",
|
|
|
|
|
|
"idle": "Неактивен",
|
|
|
|
|
|
"dnd": "Не беспокоить",
|
|
|
|
|
|
"invisible": "Невидимый",
|
|
|
|
|
|
"offline": "Не в сети"
|
2026-09-20 01:32:11 +03:00
|
|
|
|
},
|
|
|
|
|
|
"voice": {
|
|
|
|
|
|
"input": "Устройство ввода",
|
|
|
|
|
|
"output": "Устройство вывода",
|
|
|
|
|
|
"camera": "Камера",
|
|
|
|
|
|
"micVolume": "Громкость микрофона",
|
|
|
|
|
|
"outputVolume": "Громкость звука",
|
|
|
|
|
|
"micOn": "Включить микрофон",
|
|
|
|
|
|
"micOff": "Выключить микрофон",
|
|
|
|
|
|
"cameraOn": "Включить камеру",
|
|
|
|
|
|
"cameraOff": "Выключить камеру",
|
|
|
|
|
|
"soundOn": "Включить звук",
|
|
|
|
|
|
"soundOff": "Выключить звук",
|
|
|
|
|
|
"micSettings": "Настройки микрофона",
|
|
|
|
|
|
"cameraSettings": "Настройки камеры",
|
|
|
|
|
|
"soundSettings": "Настройки звука",
|
|
|
|
|
|
"audioSettings": "Аудио-видео настройки"
|
|
|
|
|
|
},
|
|
|
|
|
|
"devices": {
|
|
|
|
|
|
"default": "Устройство по умолчанию",
|
|
|
|
|
|
"unavailable": "Устройства недоступны",
|
|
|
|
|
|
"empty": "Устройства не найдены",
|
|
|
|
|
|
"unnamed": "Устройство {{index}}"
|
2026-09-19 21:50:06 +03:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"gateway": {
|
|
|
|
|
|
"label": "Соединение",
|
|
|
|
|
|
"status": {
|
|
|
|
|
|
"idle": "Не подключено",
|
|
|
|
|
|
"connecting": "Подключаемся…",
|
|
|
|
|
|
"connected": "Подключено",
|
|
|
|
|
|
"reconnecting": "Переподключение…",
|
|
|
|
|
|
"disconnected": "Соединение потеряно"
|
|
|
|
|
|
},
|
|
|
|
|
|
"invalidated": "Сессия закрыта сервером. Войдите снова."
|
|
|
|
|
|
},
|
|
|
|
|
|
"settings": {
|
|
|
|
|
|
"title": "Настройки",
|
|
|
|
|
|
"back": "В приложение",
|
2026-09-19 23:33:34 +03:00
|
|
|
|
"switcher": {
|
|
|
|
|
|
"label": "Разделы настроек",
|
|
|
|
|
|
"account": "Настройки сервера",
|
|
|
|
|
|
"servers": "Мои серверы"
|
|
|
|
|
|
},
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"tabs": {
|
|
|
|
|
|
"label": "Разделы настроек",
|
|
|
|
|
|
"profile": "Профиль",
|
|
|
|
|
|
"security": "Безопасность",
|
|
|
|
|
|
"appearance": "Внешний вид",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"notifications": "Уведомления",
|
2026-09-20 11:24:09 +03:00
|
|
|
|
"server": "Сервер",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"voice": "Аудио-видео",
|
|
|
|
|
|
"language": "Язык и регион",
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"instance": "Инстанс"
|
|
|
|
|
|
},
|
|
|
|
|
|
"profile": {
|
2026-09-20 11:24:09 +03:00
|
|
|
|
"avatar.change": "Сменить аватар",
|
|
|
|
|
|
"avatar.uploading": "Загружаем…",
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"title": "Профиль",
|
|
|
|
|
|
"description": "Как вас видят другие участники.",
|
|
|
|
|
|
"displayName": "Отображаемое имя",
|
|
|
|
|
|
"bio": "О себе",
|
|
|
|
|
|
"bioPlaceholder": "Пара слов о себе",
|
|
|
|
|
|
"customStatus": "Своё состояние",
|
|
|
|
|
|
"customStatusPlaceholder": "Например, «Пишу код»",
|
|
|
|
|
|
"customStatusEmoji": "Эмодзи состояния",
|
|
|
|
|
|
"customStatusEmojiPlaceholder": "🚀",
|
|
|
|
|
|
"saved": "Профиль сохранён.",
|
|
|
|
|
|
"username": "Имя пользователя",
|
|
|
|
|
|
"badges": "Значки",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"noBadges": "нет",
|
|
|
|
|
|
"tabsLabel": "Вкладки профиля",
|
|
|
|
|
|
"tabs": {
|
|
|
|
|
|
"main": "Основной",
|
|
|
|
|
|
"server": "Сервер"
|
|
|
|
|
|
},
|
|
|
|
|
|
"timezoneDefault": "по умолчанию (МСК)",
|
|
|
|
|
|
"avatar": {
|
2026-09-20 11:24:09 +03:00
|
|
|
|
"change": "Сменить аватар",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"choose": "Выбрать файл аватара",
|
|
|
|
|
|
"remove": "Удалить аватар",
|
2026-09-20 11:24:09 +03:00
|
|
|
|
"formats": "JPEG, PNG, WebP, GIF",
|
|
|
|
|
|
"limit": "{{formats}} до {{limit}}",
|
|
|
|
|
|
"tooLarge": "Файл больше {{limit}} — выберите картинку поменьше.",
|
|
|
|
|
|
"uploading": "Загружаем…"
|
2026-09-20 01:32:11 +03:00
|
|
|
|
},
|
|
|
|
|
|
"decorations": {
|
|
|
|
|
|
"title": "Украшения",
|
|
|
|
|
|
"hint": "Бейджи и рамки профиля.",
|
|
|
|
|
|
"empty": "Украшений пока нет.",
|
|
|
|
|
|
"stub": "Бейджи, рамки и эффекты профиля появятся позже."
|
|
|
|
|
|
}
|
2026-09-19 21:50:06 +03:00
|
|
|
|
},
|
|
|
|
|
|
"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": "Серверов нет.",
|
2026-09-20 11:24:09 +03:00
|
|
|
|
"userId": "ID пользователя",
|
2026-09-19 21:50:06 +03:00
|
|
|
|
"users": "Пользователи ({{count}})",
|
|
|
|
|
|
"usersEmpty": "Пользователей нет.",
|
|
|
|
|
|
"audit": "Журнал аудита (последние {{count}})",
|
|
|
|
|
|
"auditEmpty": "Записей нет.",
|
2026-09-19 22:03:46 +03:00
|
|
|
|
"memberCount": "{{count}} участн.",
|
|
|
|
|
|
"adminBadge": "админ",
|
2026-09-20 11:24:09 +03:00
|
|
|
|
"mainBadge": "главный",
|
2026-09-20 21:26:25 +03:00
|
|
|
|
"usersIdHint": "ID пользователей видны только администратору инстанса.",
|
|
|
|
|
|
"dashboard": {
|
|
|
|
|
|
"title": "Дашборд сервера",
|
|
|
|
|
|
"refreshHint": "обновляется раз в секунду",
|
|
|
|
|
|
"cpu": "Процессор",
|
|
|
|
|
|
"cpuCaption_one": "{{count}} ядро",
|
|
|
|
|
|
"cpuCaption_few": "{{count}} ядра",
|
|
|
|
|
|
"cpuCaption_many": "{{count}} ядер",
|
|
|
|
|
|
"cpuCaption_other": "{{count}} ядра",
|
|
|
|
|
|
"memory": "Память",
|
|
|
|
|
|
"diskHint": "Диск: занято / всего. Свободно {{free}}",
|
2026-09-20 22:10:17 +03:00
|
|
|
|
"databaseHint": "База данных: файл и журнал WAL ({{wal}})",
|
|
|
|
|
|
"containerRow": "Контейнер инстанса",
|
|
|
|
|
|
"containerHint": "Лимиты профиля",
|
|
|
|
|
|
"hostRow": "Сервер целиком",
|
|
|
|
|
|
"hostHint": "Вся машина"
|
2026-09-20 21:26:25 +03:00
|
|
|
|
},
|
|
|
|
|
|
"health": {
|
|
|
|
|
|
"title": "Healthcheck инстанса",
|
|
|
|
|
|
"collecting": "Собираем данные…",
|
|
|
|
|
|
"unavailable": "Инстанс не отвечает на запросы дашборда.",
|
|
|
|
|
|
"ping": "Пинг",
|
|
|
|
|
|
"pingValue": "{{ms}} мс",
|
|
|
|
|
|
"pingUnavailable": "—",
|
|
|
|
|
|
"pingHint": "Время ответа инстанса на запрос дашборда",
|
|
|
|
|
|
"summary": {
|
|
|
|
|
|
"ok": "Всё в порядке",
|
|
|
|
|
|
"warn": "Есть предупреждения",
|
|
|
|
|
|
"failed": "Есть ошибки"
|
|
|
|
|
|
},
|
|
|
|
|
|
"status": {
|
|
|
|
|
|
"ok": "работает",
|
|
|
|
|
|
"warn": "внимание",
|
|
|
|
|
|
"failed": "ошибка",
|
|
|
|
|
|
"off": "выключено"
|
|
|
|
|
|
},
|
|
|
|
|
|
"checks": {
|
|
|
|
|
|
"app": "Приложение",
|
|
|
|
|
|
"database": "База данных",
|
|
|
|
|
|
"disk": "Диск",
|
|
|
|
|
|
"storage": "Запись данных",
|
|
|
|
|
|
"voice": "Голос (SFU)",
|
|
|
|
|
|
"gateway": "Gateway",
|
|
|
|
|
|
"metrics": "Метрики"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2026-09-19 23:33:34 +03:00
|
|
|
|
},
|
|
|
|
|
|
"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": "не задан",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"saved": "Никнейм сохранён.",
|
|
|
|
|
|
"applyAll": "Применить ко всем серверам",
|
|
|
|
|
|
"applyAllHint": "Один ник для всех серверов, где вы состоите.",
|
|
|
|
|
|
"applyAllPending": "Применяем…",
|
|
|
|
|
|
"applyAllProgress": "Обновлено серверов: {{done}} из {{total}}",
|
|
|
|
|
|
"applyAllDone": "Никнейм применён на всех серверах ({{total}}).",
|
|
|
|
|
|
"applyAllFailed": "Не удалось обновить серверов: {{failed}}."
|
2026-09-19 23:33:34 +03:00
|
|
|
|
},
|
|
|
|
|
|
"members": {
|
|
|
|
|
|
"title": "Участники",
|
|
|
|
|
|
"description": "Первые {{limit}} участников сервера.",
|
|
|
|
|
|
"empty": "Участники не найдены.",
|
|
|
|
|
|
"roles": "Ролей: {{roles}}",
|
|
|
|
|
|
"more": "Полный список участников с ролями появится в следующих фазах."
|
|
|
|
|
|
},
|
|
|
|
|
|
"roles": {
|
|
|
|
|
|
"title": "Роли",
|
|
|
|
|
|
"description": "Цвет и позиция ролей. Управление ролями появится в следующих фазах.",
|
|
|
|
|
|
"empty": "На сервере пока нет ролей.",
|
|
|
|
|
|
"position": "Позиция {{position}}",
|
|
|
|
|
|
"default": "по умолчанию"
|
|
|
|
|
|
},
|
|
|
|
|
|
"danger": {
|
|
|
|
|
|
"title": "Опасная зона",
|
|
|
|
|
|
"description": "Эти действия необратимы.",
|
|
|
|
|
|
"leaveOwnerHint": "Владелец не может покинуть свой сервер: сначала передайте владение или удалите сервер.",
|
|
|
|
|
|
"leaveHint": "Выйти из сервера и потерять доступ к его комнатам.",
|
|
|
|
|
|
"leave": "Покинуть сервер",
|
|
|
|
|
|
"leaveConfirmTitle": "Покинуть сервер?",
|
|
|
|
|
|
"leaveConfirmBody": "Вы выйдете из сервера «{{name}}». Вернуться можно будет по приглашению.",
|
|
|
|
|
|
"leaveConfirm": "Покинуть",
|
|
|
|
|
|
"deleteHint": "Удалить сервер вместе с комнатами, ролями и участниками.",
|
|
|
|
|
|
"delete": "Удалить сервер",
|
|
|
|
|
|
"deleteConfirmTitle": "Удалить сервер?",
|
|
|
|
|
|
"deleteConfirmBody": "Сервер «{{name}}» будет удалён без возможности восстановления.",
|
|
|
|
|
|
"deleteConfirm": "Удалить"
|
2026-09-20 01:32:11 +03:00
|
|
|
|
},
|
2026-09-20 18:13:04 +03:00
|
|
|
|
"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": "Загружаем…"
|
2026-09-20 19:30:43 +03:00
|
|
|
|
},
|
|
|
|
|
|
"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": "Снятие роли"
|
|
|
|
|
|
}
|
2026-09-20 18:13:04 +03:00
|
|
|
|
}
|
2026-09-20 01:32:11 +03:00
|
|
|
|
},
|
|
|
|
|
|
"navLabel": "Пункты настроек",
|
|
|
|
|
|
"notifications": {
|
|
|
|
|
|
"title": "Уведомления",
|
|
|
|
|
|
"description": "Звуки, упоминания и веб-пуш.",
|
|
|
|
|
|
"stub": "Настройки уведомлений появятся позже."
|
|
|
|
|
|
},
|
|
|
|
|
|
"voice": {
|
|
|
|
|
|
"title": "Аудио-видео",
|
2026-09-20 18:51:31 +03:00
|
|
|
|
"description": "Устройства ввода и вывода и громкость. Изменения применяются к текущей голосовой комнате сразу.",
|
2026-09-20 01:32:11 +03:00
|
|
|
|
"input": "Микрофон",
|
|
|
|
|
|
"camera": "Камера",
|
|
|
|
|
|
"output": "Звук",
|
|
|
|
|
|
"micVolume": "Громкость микрофона",
|
|
|
|
|
|
"outputVolume": "Громкость звука",
|
2026-09-20 19:30:43 +03:00
|
|
|
|
"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": "Саундборд",
|
2026-09-20 22:10:17 +03:00
|
|
|
|
"soundboardHint": "Проигрывать звуки саундборда в голосовой комнате.",
|
|
|
|
|
|
"latency": "Пинг участников",
|
|
|
|
|
|
"latencySharing": "Показывать пинг в голосовой комнате",
|
|
|
|
|
|
"latencySharingHint": "Задержка участников до инстанса обновляется раз в секунду; свой пинг публикуется в комнате."
|
2026-09-20 01:32:11 +03:00
|
|
|
|
},
|
|
|
|
|
|
"language": {
|
|
|
|
|
|
"title": "Язык и регион",
|
|
|
|
|
|
"description": "Часовой пояс и язык интерфейса.",
|
|
|
|
|
|
"timezone": "Часовой пояс",
|
|
|
|
|
|
"timezoneHint": "Используется для времени сообщений.",
|
|
|
|
|
|
"locale": "Язык интерфейса",
|
|
|
|
|
|
"localeHint": "Переключается сразу.",
|
|
|
|
|
|
"saved": "Настройки региона сохранены."
|
2026-09-19 21:50:06 +03:00
|
|
|
|
}
|
2026-09-19 18:20:59 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|