mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-05-13 09:36:05 +00:00
The sidebar theme submenu (Theme / Dark / Ultra dark) and the dashboard's
Xray status badge ("Xray is running" etc.) were hardcoded English strings.
Wire them through vue-i18n: ThemeSwitch.vue uses menu.theme/dark/ultraDark,
and XrayStatusCard.vue derives the badge text from the existing
pages.index.xrayStatus{Running,Stop,Error,Unknown} keys (status.js no
longer carries an English stateMsg field).
The "Nodes" menu item was already keyed as menu.nodes but only en-US and
fa-IR had a translation; add it to the other 11 languages, matching the
wording each file already uses for pages.nodes.title.
#4201
942 lines
66 KiB
JSON
942 lines
66 KiB
JSON
{
|
||
"username": "Имя пользователя",
|
||
"password": "Пароль",
|
||
"login": "Войти",
|
||
"confirm": "Подтвердить",
|
||
"cancel": "Отмена",
|
||
"close": "Закрыть",
|
||
"save": "Сохранить",
|
||
"logout": "Выход",
|
||
"create": "Создать",
|
||
"update": "Обновить",
|
||
"copy": "Копировать",
|
||
"copied": "Скопировано",
|
||
"download": "Скачать",
|
||
"remark": "Примечание",
|
||
"enable": "Включить",
|
||
"protocol": "Протокол",
|
||
"search": "Поиск",
|
||
"filter": "Фильтр",
|
||
"loading": "Загрузка...",
|
||
"second": "Секунда",
|
||
"minute": "Минута",
|
||
"hour": "Час",
|
||
"day": "День",
|
||
"check": "Проверить",
|
||
"indefinite": "Бесконечно",
|
||
"unlimited": "Безлимит",
|
||
"none": "Пусто",
|
||
"qrCode": "QR-код",
|
||
"info": "Информация",
|
||
"edit": "Изменить",
|
||
"delete": "Удалить",
|
||
"reset": "Сбросить",
|
||
"noData": "Нет данных.",
|
||
"copySuccess": "Скопировано",
|
||
"sure": "Да",
|
||
"encryption": "Шифрование",
|
||
"useIPv4ForHost": "Использовать IPv4 для подключения к хосту",
|
||
"transmission": "Транспорт",
|
||
"host": "Хост",
|
||
"path": "Путь",
|
||
"camouflage": "Маскировка",
|
||
"status": "Статус",
|
||
"enabled": "Включено",
|
||
"disabled": "Отключено",
|
||
"depleted": "Исчерпано",
|
||
"depletingSoon": "Почти исчерпано",
|
||
"offline": "Офлайн",
|
||
"online": "Онлайн",
|
||
"domainName": "Домен",
|
||
"monitor": "Мониторинг IP",
|
||
"certificate": "SSL-сертификат",
|
||
"fail": "Сбой",
|
||
"comment": "Комментарий",
|
||
"success": "Успешно",
|
||
"lastOnline": "Был(а) в сети",
|
||
"getVersion": "Узнать версию",
|
||
"install": "Установка",
|
||
"clients": "Клиенты",
|
||
"usage": "Использование",
|
||
"twoFactorCode": "Код 2FA",
|
||
"remained": "Остаток",
|
||
"security": "Безопасность",
|
||
"secAlertTitle": "Предупреждение системы безопасности",
|
||
"secAlertSsl": "Соединение не защищено. Не вводите конфиденциальные данные до установки SSL-сертификата.",
|
||
"secAlertConf": "Некоторые настройки уязвимы. Рекомендуется усилить защиту для предотвращения атак.",
|
||
"secAlertSSL": "Подключение к панели не защищено. Установите SSL-сертификат для защиты данных.",
|
||
"secAlertPanelPort": "Порт панели по умолчанию небезопасен. Установите нестандартный или случайный порт.",
|
||
"secAlertPanelURI": "Адрес панели по умолчанию небезопасен. Настройте уникальный и сложный URI.",
|
||
"secAlertSubURI": "URI подписки по умолчанию небезопасен. Настройте уникальный и сложный адрес.",
|
||
"secAlertSubJsonURI": "URI JSON-подписки по умолчанию небезопасен. Настройте уникальный и сложный адрес.",
|
||
"emptyDnsDesc": "Нет добавленных DNS-серверов.",
|
||
"emptyFakeDnsDesc": "Нет добавленных Fake DNS-серверов.",
|
||
"emptyBalancersDesc": "Нет добавленных балансировщиков.",
|
||
"emptyReverseDesc": "Нет добавленных реверс-прокси.",
|
||
"somethingWentWrong": "Что-то пошло не так",
|
||
"subscription": {
|
||
"title": "Информация о подписке",
|
||
"subId": "ID подписки",
|
||
"status": "Статус",
|
||
"downloaded": "Загружено",
|
||
"uploaded": "Отправлено",
|
||
"expiry": "Срок действия",
|
||
"totalQuota": "Общий лимит",
|
||
"individualLinks": "Индивидуальные ссылки",
|
||
"active": "Активна",
|
||
"inactive": "Неактивна",
|
||
"unlimited": "Неограниченно",
|
||
"noExpiry": "Бессрочно"
|
||
},
|
||
"menu": {
|
||
"theme": "Тема",
|
||
"dark": "Темная",
|
||
"ultraDark": "Очень темная",
|
||
"dashboard": "Дашборд",
|
||
"inbounds": "Подключения",
|
||
"nodes": "Узлы",
|
||
"settings": "Настройки",
|
||
"xray": "Настройки Xray",
|
||
"logout": "Выход",
|
||
"link": "Управление"
|
||
},
|
||
"pages": {
|
||
"login": {
|
||
"hello": "Привет!",
|
||
"title": "Добро пожаловать!",
|
||
"loginAgain": "Сессия истекла. Войдите в систему снова",
|
||
"toasts": {
|
||
"invalidFormData": "Недопустимый формат данных",
|
||
"emptyUsername": "Введите имя пользователя",
|
||
"emptyPassword": "Введите пароль",
|
||
"wrongUsernameOrPassword": "Неверные данные учетной записи.",
|
||
"successLogin": "Вход выполнен успешно"
|
||
}
|
||
},
|
||
"index": {
|
||
"title": "Дашборд",
|
||
"cpu": "ЦП",
|
||
"logicalProcessors": "Логические процессоры",
|
||
"frequency": "Частота",
|
||
"swap": "Файл подкачки",
|
||
"storage": "Диск",
|
||
"memory": "ОЗУ",
|
||
"threads": "Потоки",
|
||
"xrayStatus": "Xray",
|
||
"stopXray": "Остановить",
|
||
"restartXray": "Перезапустить",
|
||
"xraySwitch": "Выбор версии",
|
||
"xraySwitchClick": "Выберите нужную версию",
|
||
"xraySwitchClickDesk": "Важно: старые версии могут не поддерживать текущие настройки",
|
||
"xrayUpdates": "Обновления Xray",
|
||
"updatePanel": "Обновить панель",
|
||
"panelUpdateDesc": "Это обновит 3X-UI до последнего релиза и перезапустит сервис панели.",
|
||
"currentPanelVersion": "Текущая версия панели",
|
||
"latestPanelVersion": "Последняя версия панели",
|
||
"panelUpToDate": "Панель обновлена",
|
||
"upToDate": "Обновлено",
|
||
"xrayStatusUnknown": "Неизвестно",
|
||
"xrayStatusRunning": "Запущен",
|
||
"xrayStatusStop": "Остановлен",
|
||
"xrayStatusError": "Ошибка",
|
||
"xrayErrorPopoverTitle": "Ошибка при запуске Xray",
|
||
"operationHours": "Время работы системы",
|
||
"systemHistoryTitle": "История системы",
|
||
"trendLast2Min": "Последние 2 минуты",
|
||
"systemLoad": "Нагрузка на систему",
|
||
"systemLoadDesc": "Средняя загрузка системы за последние 1, 5 и 15 минут",
|
||
"connectionCount": "Количество соединений",
|
||
"ipAddresses": "IP-адреса сервера",
|
||
"toggleIpVisibility": "Скрыть или показать IP-адреса сервера",
|
||
"overallSpeed": "Общая скорость передачи трафика",
|
||
"upload": "Отправка",
|
||
"download": "Загрузка",
|
||
"totalData": "Общий объем трафика",
|
||
"sent": "Отправлено",
|
||
"received": "Получено",
|
||
"documentation": "Документация",
|
||
"xraySwitchVersionDialog": "Переключить версию Xray",
|
||
"xraySwitchVersionDialogDesc": "Вы точно хотите сменить версию Xray?",
|
||
"xraySwitchVersionPopover": "Xray успешно обновлён",
|
||
"panelUpdateDialog": "Вы действительно хотите обновить панель?",
|
||
"panelUpdateDialogDesc": "Это обновит 3X-UI до версии #version# и перезапустит сервис панели.",
|
||
"panelUpdateCheckPopover": "Проверка обновления панели не удалась",
|
||
"panelUpdateStartedPopover": "Обновление панели началось",
|
||
"geofileUpdateDialog": "Вы действительно хотите обновить геофайл?",
|
||
"geofileUpdateDialogDesc": "Это обновит файл #filename#.",
|
||
"geofilesUpdateDialogDesc": "Это обновит все геофайлы.",
|
||
"geofilesUpdateAll": "Обновить все",
|
||
"geofileUpdatePopover": "Геофайлы успешно обновлены",
|
||
"customGeoTitle": "Пользовательские GeoSite / GeoIP",
|
||
"customGeoAdd": "Добавить",
|
||
"customGeoType": "Тип",
|
||
"customGeoAlias": "Псевдоним",
|
||
"customGeoUrl": "URL",
|
||
"customGeoEnabled": "Включено",
|
||
"customGeoLastUpdated": "Обновлено",
|
||
"customGeoExtColumn": "Маршрутизация (ext:…)",
|
||
"customGeoToastUpdateAll": "Все пользовательские источники обновлены",
|
||
"customGeoActions": "Действия",
|
||
"customGeoEdit": "Изменить",
|
||
"customGeoDelete": "Удалить",
|
||
"customGeoDownload": "Обновить сейчас",
|
||
"customGeoModalAdd": "Добавить источник",
|
||
"customGeoModalEdit": "Изменить источник",
|
||
"customGeoModalSave": "Сохранить",
|
||
"customGeoDeleteConfirm": "Удалить этот пользовательский источник?",
|
||
"customGeoRoutingHint": "В правилах маршрутизации используйте значение как ext:файл.dat:тег (замените тег).",
|
||
"customGeoInvalidId": "Некорректный идентификатор",
|
||
"customGeoAliasesError": "Не удалось загрузить список пользовательских geo",
|
||
"customGeoValidationAlias": "Псевдоним: только a-z, цифры, - и _",
|
||
"customGeoValidationUrl": "URL должен начинаться с http:// или https://",
|
||
"customGeoAliasPlaceholder": "a-z 0-9 _ -",
|
||
"customGeoAliasLabelSuffix": " (свой)",
|
||
"customGeoToastList": "Список пользовательских geo",
|
||
"customGeoToastAdd": "Добавить пользовательский geo",
|
||
"customGeoToastUpdate": "Изменить пользовательский geo",
|
||
"customGeoToastDelete": "Пользовательский geo-файл «{{ .fileName }}» удалён",
|
||
"customGeoToastDownload": "Geofile «{{ .fileName }}» обновлен",
|
||
"customGeoErrInvalidType": "Тип должен быть geosite или geoip",
|
||
"customGeoErrAliasRequired": "Укажите псевдоним",
|
||
"customGeoErrAliasPattern": "Псевдоним содержит недопустимые символы",
|
||
"customGeoErrAliasReserved": "Этот псевдоним зарезервирован",
|
||
"customGeoErrUrlRequired": "Укажите URL",
|
||
"customGeoErrInvalidUrl": "Некорректный URL",
|
||
"customGeoErrUrlScheme": "URL должен использовать http или https",
|
||
"customGeoErrUrlHost": "Некорректный хост URL",
|
||
"customGeoErrDuplicateAlias": "Такой псевдоним уже используется для этого типа",
|
||
"customGeoErrNotFound": "Источник не найден",
|
||
"customGeoErrDownload": "Ошибка загрузки",
|
||
"customGeoErrUpdateAllIncomplete": "Не удалось обновить один или несколько пользовательских источников",
|
||
"customGeoEmpty": "Пользовательских источников geo пока нет — нажмите «Добавить», чтобы создать",
|
||
"dontRefresh": "Установка в процессе. Не обновляйте страницу",
|
||
"logs": "Журнал",
|
||
"config": "Конфигурация",
|
||
"backup": "Резервная копия",
|
||
"backupTitle": "Бэкап и восстановление",
|
||
"exportDatabase": "Экспорт базы данных",
|
||
"exportDatabaseDesc": "Нажмите, чтобы скачать файл .db, содержащий резервную копию вашей текущей базы данных на ваше устройство.",
|
||
"importDatabase": "Импорт базы данных",
|
||
"importDatabaseDesc": "Нажмите, чтобы выбрать и загрузить файл .db с вашего устройства для восстановления базы данных из резервной копии.",
|
||
"importDatabaseSuccess": "База данных успешно импортирована",
|
||
"importDatabaseError": "Произошла ошибка при импорте базы данных",
|
||
"readDatabaseError": "Произошла ошибка при чтении базы данных",
|
||
"getDatabaseError": "Произошла ошибка при получении базы данных",
|
||
"getConfigError": "Произошла ошибка при получении конфигурационного файла"
|
||
},
|
||
"inbounds": {
|
||
"allTimeTraffic": "Общий трафик",
|
||
"allTimeTrafficUsage": "Общее использование за все время",
|
||
"title": "Подключения",
|
||
"totalDownUp": "Отправлено/получено",
|
||
"totalUsage": "Всего трафика",
|
||
"inboundCount": "Всего подключений",
|
||
"operate": "Меню",
|
||
"enable": "Включить",
|
||
"remark": "Примечание",
|
||
"node": "Узел",
|
||
"deployTo": "Развернуть на",
|
||
"localPanel": "Локальная панель",
|
||
"protocol": "Протокол",
|
||
"port": "Порт",
|
||
"portMap": "Порт-маппинг",
|
||
"traffic": "Трафик",
|
||
"details": "Подробнее",
|
||
"transportConfig": "Транспорт",
|
||
"expireDate": "Дата окончания",
|
||
"createdAt": "Создано",
|
||
"updatedAt": "Обновлено",
|
||
"resetTraffic": "Сброс трафика",
|
||
"addInbound": "Создать подключение",
|
||
"generalActions": "Общие действия",
|
||
"modifyInbound": "Изменить подключение",
|
||
"deleteInbound": "Удалить подключение",
|
||
"deleteInboundContent": "Вы уверены, что хотите удалить подключение?",
|
||
"deleteClient": "Удалить клиента",
|
||
"deleteClientContent": "Вы уверены, что хотите удалить клиента?",
|
||
"resetTrafficContent": "Вы уверены, что хотите сбросить трафик?",
|
||
"copyLink": "Копировать ссылку",
|
||
"address": "Адрес",
|
||
"network": "Сеть",
|
||
"destinationPort": "Порт назначения",
|
||
"targetAddress": "Целевой адрес",
|
||
"monitorDesc": "Оставьте пустым для прослушивания всех IP-адресов",
|
||
"meansNoLimit": "= Без ограничений (значение: ГБ)",
|
||
"totalFlow": "Общий расход",
|
||
"leaveBlankToNeverExpire": "Оставьте пустым, чтобы было бесконечным",
|
||
"noRecommendKeepDefault": "Рекомендуется оставить настройки по умолчанию",
|
||
"certificatePath": "Путь к сертификату",
|
||
"certificateContent": "Содержимое сертификата",
|
||
"publicKey": "Публичный ключ",
|
||
"privatekey": "Приватный ключ",
|
||
"clickOnQRcode": "Нажмите на QR-код, чтобы скопировать",
|
||
"client": "Клиент",
|
||
"export": "Экспорт ссылок",
|
||
"clone": "Клонировать",
|
||
"cloneInbound": "Клонировать",
|
||
"cloneInboundContent": "Будут клонированы все настройки подключений, кроме списка клиентов, порта и IP-адреса прослушивания",
|
||
"cloneInboundOk": "Клонировано",
|
||
"resetAllTraffic": "Сброс трафика всех подключений",
|
||
"resetAllTrafficTitle": "Сброс трафика всех подключений",
|
||
"resetAllTrafficContent": "Вы уверены, что хотите сбросить трафик всех подключений?",
|
||
"resetInboundClientTraffics": "Сброс трафика клиента",
|
||
"resetInboundClientTrafficTitle": "Сброс трафика клиентов",
|
||
"resetInboundClientTrafficContent": "Вы уверены, что хотите сбросить трафик для этих клиентов?",
|
||
"resetAllClientTraffics": "Сброс трафика всех клиентов",
|
||
"resetAllClientTrafficTitle": "Сброс трафика всех клиентов",
|
||
"resetAllClientTrafficContent": "Вы уверены, что хотите сбросить трафик всех клиентов?",
|
||
"delDepletedClients": "Удалить отключенных клиентов",
|
||
"delDepletedClientsTitle": "Удаление отключенных клиентов",
|
||
"delDepletedClientsContent": "Вы уверены, что хотите удалить всех отключенных клиентов?",
|
||
"email": "Email",
|
||
"emailDesc": "Пожалуйста, укажите уникальный Email",
|
||
"IPLimit": "Лимит по количеству IP",
|
||
"IPLimitDesc": "Ограничение числа одновременных подключений с разных IP (0 – отключить)",
|
||
"IPLimitlog": "Лог IP-адресов",
|
||
"IPLimitlogDesc": "Лог IP-адресов (перед включением лога IP-адресов, вы должны очистить лог)",
|
||
"IPLimitlogclear": "Очистить лог",
|
||
"setDefaultCert": "Установить сертификат панели",
|
||
"telegramDesc": "Пожалуйста, укажите Chat ID Telegram. (используйте команду '/id' в боте) или ({'@'}userinfobot)",
|
||
"subscriptionDesc": "Вы можете найти свою ссылку подписки в разделе 'Подробнее'",
|
||
"info": "Информация",
|
||
"same": "Тот же",
|
||
"inboundData": "Данные подключений",
|
||
"exportInbound": "Экспорт подключений",
|
||
"import": "Импортировать",
|
||
"importInbound": "Импорт подключений",
|
||
"periodicTrafficResetTitle": "Сброс трафика",
|
||
"periodicTrafficResetDesc": "Автоматический сброс счетчика трафика через указанные интервалы",
|
||
"lastReset": "Последний сброс",
|
||
"periodicTrafficReset": {
|
||
"never": "Никогда",
|
||
"daily": "Ежедневно",
|
||
"weekly": "Еженедельно",
|
||
"monthly": "Ежемесячно",
|
||
"hourly": "Ежечасно"
|
||
},
|
||
"toasts": {
|
||
"obtain": "Получить",
|
||
"updateSuccess": "Обновление прошло успешно",
|
||
"logCleanSuccess": "Лог был очищен",
|
||
"inboundsUpdateSuccess": "Подключения успешно обновлены",
|
||
"inboundUpdateSuccess": "Подключение успешно обновлено",
|
||
"inboundCreateSuccess": "Подключение успешно создано",
|
||
"inboundDeleteSuccess": "Подключение успешно удалено",
|
||
"inboundClientAddSuccess": "Клиент(ы) подключения добавлен(ы)",
|
||
"inboundClientDeleteSuccess": "Клиент подключения удалён",
|
||
"inboundClientUpdateSuccess": "Клиент подключения обновлён",
|
||
"delDepletedClientsSuccess": "Все исчерпанные клиенты удалены",
|
||
"resetAllClientTrafficSuccess": "Весь трафик клиента сброшен",
|
||
"resetAllTrafficSuccess": "Весь трафик сброшен",
|
||
"resetInboundClientTrafficSuccess": "Трафик сброшен",
|
||
"trafficGetError": "Ошибка получения данных о трафике",
|
||
"getNewX25519CertError": "Ошибка при получении сертификата X25519.",
|
||
"getNewmldsa65Error": "Ошибка при получении сертификата mldsa65.",
|
||
"getNewVlessEncError": "Ошибка при получении сертификата VlessEnc."
|
||
},
|
||
"stream": {
|
||
"general": {
|
||
"request": "Запрос",
|
||
"response": "Ответ",
|
||
"name": "Имя",
|
||
"value": "Значение"
|
||
},
|
||
"tcp": {
|
||
"version": "Версия",
|
||
"method": "Метод",
|
||
"path": "Путь",
|
||
"status": "Статус",
|
||
"statusDescription": "Описание статуса",
|
||
"requestHeader": "Заголовок запроса",
|
||
"responseHeader": "Заголовок ответа"
|
||
}
|
||
}
|
||
},
|
||
"client": {
|
||
"add": "Добавить клиента",
|
||
"edit": "Редактировать клиента",
|
||
"submitAdd": "Добавить",
|
||
"submitEdit": "Сохранить изменения",
|
||
"clientCount": "Количество клиентов",
|
||
"bulk": "Добавить несколько",
|
||
"copyFromInbound": "Скопировать клиентов из инбаунда",
|
||
"copyToInbound": "Скопировать клиентов в",
|
||
"copySelected": "Скопировать выбранных",
|
||
"copySource": "Источник",
|
||
"copyEmailPreview": "Предпросмотр итоговых email",
|
||
"copySelectSourceFirst": "Сначала выберите источник.",
|
||
"copyResult": "Результат копирования",
|
||
"copyResultSuccess": "Успешно скопировано",
|
||
"copyResultNone": "Нечего копировать: ни одного клиента не выбрано или список источника пуст",
|
||
"copyResultErrors": "Ошибки при копировании",
|
||
"copyFlowLabel": "Flow для новых клиентов (VLESS)",
|
||
"copyFlowHint": "Применится ко всем копируемым клиентам. Оставьте пустым, чтобы не задавать.",
|
||
"selectAll": "Выбрать всех",
|
||
"clearAll": "Снять всё",
|
||
"method": "Метод",
|
||
"first": "Первый",
|
||
"last": "Последний",
|
||
"prefix": "Префикс",
|
||
"postfix": "Постфикс",
|
||
"delayedStart": "Начало использования",
|
||
"expireDays": "Длительность",
|
||
"days": "дней",
|
||
"renew": "Автопродление",
|
||
"renewDesc": "Автопродление после истечения срока действия. (0 = отключить)(единица: день)"
|
||
},
|
||
"nodes": {
|
||
"title": "Узлы",
|
||
"addNode": "Добавить узел",
|
||
"editNode": "Редактировать узел",
|
||
"totalNodes": "Всего узлов",
|
||
"onlineNodes": "Онлайн",
|
||
"offlineNodes": "Офлайн",
|
||
"avgLatency": "Средняя задержка",
|
||
"name": "Имя",
|
||
"namePlaceholder": "напр. de-frankfurt-1",
|
||
"addressPlaceholder": "panel.example.com или 1.2.3.4",
|
||
"remark": "Примечание",
|
||
"scheme": "Схема",
|
||
"address": "Адрес",
|
||
"port": "Порт",
|
||
"basePath": "Базовый путь",
|
||
"apiToken": "Токен API",
|
||
"apiTokenPlaceholder": "Токен со страницы Настроек удалённой панели",
|
||
"apiTokenHint": "Удалённая панель показывает свой токен API в разделе Настройки → Токен API.",
|
||
"regenerate": "Сгенерировать токен заново",
|
||
"regenerateConfirm": "Повторная генерация аннулирует текущий токен. Любая центральная панель, использующая его, потеряет доступ до обновления. Продолжить?",
|
||
"enable": "Включён",
|
||
"status": "Статус",
|
||
"cpu": "CPU",
|
||
"mem": "Память",
|
||
"uptime": "Время работы",
|
||
"latency": "Задержка",
|
||
"lastHeartbeat": "Последний пинг",
|
||
"xrayVersion": "Версия Xray",
|
||
"actions": "Действия",
|
||
"probe": "Проверить сейчас",
|
||
"testConnection": "Проверить соединение",
|
||
"connectionOk": "Соединение в порядке ({ms} мс)",
|
||
"connectionFailed": "Не удалось подключиться",
|
||
"never": "никогда",
|
||
"justNow": "только что",
|
||
"deleteConfirmTitle": "Удалить узел \"{name}\"?",
|
||
"deleteConfirmContent": "Это остановит мониторинг узла. Сама удалённая панель не будет затронута.",
|
||
"statusValues": {
|
||
"online": "Онлайн",
|
||
"offline": "Офлайн",
|
||
"unknown": "Неизвестно"
|
||
},
|
||
"toasts": {
|
||
"list": "Не удалось загрузить узлы",
|
||
"obtain": "Не удалось загрузить узел",
|
||
"add": "Добавить узел",
|
||
"update": "Обновить узел",
|
||
"delete": "Удалить узел",
|
||
"deleted": "Узел удалён",
|
||
"test": "Проверить соединение",
|
||
"fillRequired": "Имя, адрес, порт и токен API обязательны",
|
||
"probeFailed": "Проверка не удалась"
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "Настройки",
|
||
"save": "Сохранить",
|
||
"infoDesc": "Сохраните изменения и перезапустите панель для их применения.",
|
||
"restartPanel": "Перезапуск панели",
|
||
"restartPanelDesc": "Вы уверены, что хотите перезапустить панель? Подтвердите, и перезапуск произойдёт через 3 секунды. Если панель будет недоступна, проверьте лог сервера",
|
||
"restartPanelSuccess": "Панель успешно перезапущена",
|
||
"actions": "Действия",
|
||
"resetDefaultConfig": "Восстановить настройки по умолчанию",
|
||
"panelSettings": "Панель",
|
||
"securitySettings": "Учетная запись",
|
||
"TGBotSettings": "Telegram-Бот",
|
||
"panelListeningIP": "IP-адрес для управления панелью",
|
||
"panelListeningIPDesc": "Оставьте пустым для подключения с любого IP",
|
||
"panelListeningDomain": "Домен панели",
|
||
"panelListeningDomainDesc": "Оставьте пустым для подключения с любых доменов и IP.",
|
||
"panelPort": "Порт панели",
|
||
"panelPortDesc": "Порт, на котором работает панель",
|
||
"publicKeyPath": "Путь к файлу публичного ключа сертификата панели",
|
||
"publicKeyPathDesc": "Введите полный путь, начинающийся с '/'",
|
||
"privateKeyPath": "Путь к файлу приватного ключа сертификата панели",
|
||
"privateKeyPathDesc": "Введите полный путь, начинающийся с '/'",
|
||
"panelUrlPath": "Корневой путь URL адреса панели",
|
||
"panelUrlPathDesc": "Должен начинаться с '/' и заканчиваться '/'",
|
||
"pageSize": "Размер нумерации страниц",
|
||
"pageSizeDesc": "Определить размер страницы для таблицы подключений. Установите 0, чтобы отключить",
|
||
"remarkModel": "Модель примечания и символ разделения",
|
||
"datepicker": "Тип календаря",
|
||
"datepickerPlaceholder": "Выберите дату",
|
||
"datepickerDescription": "Запланированные задачи будут выполняться в соответствии с этим календарем.",
|
||
"sampleRemark": "Пример примечания",
|
||
"oldUsername": "Текущий логин",
|
||
"currentPassword": "Текущий пароль",
|
||
"newUsername": "Новый логин",
|
||
"newPassword": "Новый пароль",
|
||
"telegramBotEnable": "Включить Telegram бота",
|
||
"telegramBotEnableDesc": "Доступ к функциям панели через Telegram-бота",
|
||
"telegramToken": "Токен Telegram бота",
|
||
"telegramTokenDesc": "Необходимо получить токен у менеджера ботов Telegram {'@'}botfather",
|
||
"telegramProxy": "Прокси-сервер Socks5",
|
||
"telegramProxyDesc": "Если для подключения к Telegram вам нужен прокси Socks5, настройте его параметры согласно руководству.",
|
||
"telegramAPIServer": "API-сервер Telegram",
|
||
"telegramAPIServerDesc": "Используемый API-сервер Telegram. Оставьте пустым, чтобы использовать сервер по умолчанию.",
|
||
"telegramChatId": "User ID администратора бота",
|
||
"telegramChatIdDesc": "Один или несколько User ID администратора(-ов) Telegram-бота. Для получения User ID используйте {'@'}userinfobot или команду '/id' в боте.",
|
||
"telegramNotifyTime": "Частота уведомлений для администраторов от бота",
|
||
"telegramNotifyTimeDesc": "Укажите интервал уведомлений в формате Crontab",
|
||
"tgNotifyBackup": "Резервное копирование базы данных",
|
||
"tgNotifyBackupDesc": "Отправлять уведомление с файлом резервной копии базы данных",
|
||
"tgNotifyLogin": "Уведомление о входе",
|
||
"tgNotifyLoginDesc": "Отображает имя пользователя, IP-адрес и время, когда кто-то пытается войти в вашу панель.",
|
||
"sessionMaxAge": "Продолжительность сессии",
|
||
"sessionMaxAgeDesc": "Продолжительность сессии в системе (значение: минута)",
|
||
"expireTimeDiff": "Задержка уведомления об истечении сессии",
|
||
"expireTimeDiffDesc": "Получение уведомления об истечении срока действия сессии до достижения порогового значения (значение: день)",
|
||
"trafficDiff": "Порог трафика для уведомления",
|
||
"trafficDiffDesc": "Получение уведомления об исчерпании трафика до достижения порога (значение: ГБ)",
|
||
"tgNotifyCpu": "Порог нагрузки на ЦП для уведомления",
|
||
"tgNotifyCpuDesc": "Уведомление администраторов в Telegram, если нагрузка на ЦП превышает этот порог (значение: %)",
|
||
"timeZone": "Часовой пояс",
|
||
"timeZoneDesc": "Запланированные задачи выполняются в соответствии со временем в этом часовом поясе",
|
||
"subSettings": "Подписка",
|
||
"subEnable": "Включить подписку",
|
||
"subEnableDesc": "Функция подписки с отдельной конфигурацией",
|
||
"subJsonEnable": "Включить/отключить JSON-эндпоинт подписки независимо.",
|
||
"subTitle": "Заголовок подписки",
|
||
"subTitleDesc": "Название подписки, которое видит клиент в VPN-клиенте",
|
||
"subSupportUrl": "URL поддержки",
|
||
"subSupportUrlDesc": "Ссылка на техническую поддержку, отображаемая в VPN-клиенте",
|
||
"subProfileUrl": "URL профиля",
|
||
"subProfileUrlDesc": "Ссылка на ваш сайт, отображаемая в VPN-клиенте",
|
||
"subAnnounce": "Объявление",
|
||
"subAnnounceDesc": "Текст объявления, отображаемый в VPN-клиенте",
|
||
"subEnableRouting": "Включить маршрутизацию",
|
||
"subEnableRoutingDesc": "Глобальная настройка для включения маршрутизации в VPN-клиенте. (Только для Happ)",
|
||
"subRoutingRules": "Правила маршрутизации",
|
||
"subRoutingRulesDesc": "Глобальные правила маршрутизации для VPN-клиента. (Только для Happ)",
|
||
"subListen": "Прослушивание IP",
|
||
"subListenDesc": "Оставьте пустым по умолчанию, чтобы отслеживать все IP-адреса",
|
||
"subPort": "Порт подписки",
|
||
"subPortDesc": "Номер порта для обслуживания службы подписки не должен использоваться на сервере",
|
||
"subCertPath": "Путь к файлу публичного ключа сертификата подписки",
|
||
"subCertPathDesc": "Введите полный путь, начинающийся с '/'",
|
||
"subKeyPath": "Путь к файлу приватного ключа сертификата подписки",
|
||
"subKeyPathDesc": "Введите полный путь, начинающийся с '/'",
|
||
"subPath": "Корневой путь URL-адреса подписки",
|
||
"subPathDesc": "Должен начинаться с '/' и заканчиваться на '/'",
|
||
"subDomain": "Домен прослушивания",
|
||
"subDomainDesc": "Оставьте пустым по умолчанию, чтобы слушать все домены и IP-адреса",
|
||
"subUpdates": "Интервалы обновления подписки",
|
||
"subUpdatesDesc": "Интервал между обновлениями в клиентском приложении (в часах)",
|
||
"subEncrypt": "Шифровать конфиги",
|
||
"subEncryptDesc": "Шифровать возвращенные конфиги в подписке",
|
||
"subShowInfo": "Показать информацию об использовании",
|
||
"subShowInfoDesc": "Отображать остаток трафика и дату окончания после имени конфигурации",
|
||
"subURI": "URI обратного прокси",
|
||
"subURIDesc": "Изменить базовый URI URL-адреса подписки для использования за прокси-серверами",
|
||
"externalTrafficInformEnable": "Информация о внешнем трафике",
|
||
"externalTrafficInformEnableDesc": "Информировать внешний API о каждом обновлении трафика",
|
||
"externalTrafficInformURI": "URI информации о внешнем трафике",
|
||
"externalTrafficInformURIDesc": "Обновления трафика отправляются на этот URI",
|
||
"restartXrayOnClientDisable": "Перезапускать Xray после автоотключения",
|
||
"restartXrayOnClientDisableDesc": "Когда клиент автоматически отключается из-за окончания срока действия или лимита трафика, перезапускать Xray.",
|
||
"fragment": "Фрагментация",
|
||
"fragmentDesc": "Включить фрагментацию TLS-хэндшейка",
|
||
"fragmentSett": "Настройки фрагментации",
|
||
"noisesDesc": "Включить Noises.",
|
||
"noisesSett": "Настройки Noises",
|
||
"mux": "Mux",
|
||
"muxDesc": "Передача нескольких независимых потоков данных в одном соединении.",
|
||
"muxSett": "Настройки Mux",
|
||
"direct": "Прямое подключение",
|
||
"directDesc": "Устанавливает прямые соединения с доменами или IP-адресами определённой страны.",
|
||
"notifications": "Уведомления",
|
||
"certs": "Сертификаты",
|
||
"externalTraffic": "Внешний трафик",
|
||
"dateAndTime": "Дата и время",
|
||
"proxyAndServer": "Прокси и сервер",
|
||
"intervals": "Интервалы",
|
||
"information": "Информация",
|
||
"language": "Язык интерфейса",
|
||
"telegramBotLanguage": "Язык Telegram-бота",
|
||
"security": {
|
||
"admin": "Учетные данные администратора",
|
||
"twoFactor": "Двухфакторная аутентификация",
|
||
"twoFactorEnable": "Включить 2FA",
|
||
"twoFactorEnableDesc": "Добавляет дополнительный уровень аутентификации для повышения безопасности.",
|
||
"twoFactorModalSetTitle": "Включить двухфакторную аутентификацию",
|
||
"twoFactorModalDeleteTitle": "Отключить двухфакторную аутентификацию",
|
||
"twoFactorModalSteps": "Для настройки двухфакторной аутентификации выполните несколько шагов:",
|
||
"twoFactorModalFirstStep": "1. Отсканируйте этот QR-код в приложении для аутентификации или скопируйте токен рядом с QR-кодом и вставьте его в приложение",
|
||
"twoFactorModalSecondStep": "2. Введите код из приложения",
|
||
"twoFactorModalRemoveStep": "Введите код из приложения, чтобы отключить двухфакторную аутентификацию.",
|
||
"twoFactorModalChangeCredentialsTitle": "Изменить учетные данные",
|
||
"twoFactorModalChangeCredentialsStep": "Введите код из приложения, чтобы изменить учетные данные администратора.",
|
||
"twoFactorModalSetSuccess": "Двухфакторная аутентификация была успешно установлена",
|
||
"twoFactorModalDeleteSuccess": "Двухфакторная аутентификация была успешно удалена",
|
||
"twoFactorModalError": "Неверный код"
|
||
},
|
||
"toasts": {
|
||
"modifySettings": "Настройки изменены",
|
||
"getSettings": "Произошла ошибка при получении параметров.",
|
||
"modifyUserError": "Произошла ошибка при изменении учетных данных администратора.",
|
||
"modifyUser": "Вы успешно изменили учетные данные администратора.",
|
||
"originalUserPassIncorrect": "Неверное имя пользователя или пароль",
|
||
"userPassMustBeNotEmpty": "Новое имя пользователя и новый пароль должны быть заполнены",
|
||
"getOutboundTrafficError": "Ошибка получения трафика исходящего подключения",
|
||
"resetOutboundTrafficError": "Ошибка сброса трафика исходящего подключения"
|
||
}
|
||
},
|
||
"xray": {
|
||
"title": "Настройки Xray",
|
||
"save": "Сохранить",
|
||
"restart": "Перезапуск Xray",
|
||
"restartSuccess": "Xray успешно перезапущен",
|
||
"stopSuccess": "Xray успешно остановлен",
|
||
"restartError": "Произошла ошибка при перезапуске Xray.",
|
||
"stopError": "Произошла ошибка при остановке Xray.",
|
||
"basicTemplate": "Основное",
|
||
"advancedTemplate": "Расширенный шаблон",
|
||
"generalConfigs": "Основные настройки",
|
||
"generalConfigsDesc": "Эти параметры описывают общие настройки",
|
||
"logConfigs": "Логи",
|
||
"logConfigsDesc": "Логи могут замедлять работу сервера. Включайте только нужные вам виды логов при необходимости!",
|
||
"blockConfigsDesc": "Настройте, чтобы клиенты не имели доступа к определенным протоколам",
|
||
"basicRouting": "Базовые соединения",
|
||
"blockConnectionsConfigsDesc": "Эти параметры будут блокировать трафик в зависимости от страны назначения.",
|
||
"directConnectionsConfigsDesc": "Прямое соединение означает, что определенный трафик не будет перенаправлен через другой сервер.",
|
||
"blockips": "Заблокированные IP-адреса",
|
||
"blockdomains": "Заблокированные домены",
|
||
"directips": "Прямые IP-адреса",
|
||
"directdomains": "Прямые домены",
|
||
"ipv4Routing": "Правила IPv4",
|
||
"ipv4RoutingDesc": "Эти параметры позволят клиентам маршрутизироваться к целевым доменам только через IPv4",
|
||
"warpRouting": "Правила WARP",
|
||
"warpRoutingDesc": " Эти опции будут направлять трафик в зависимости от конкретного пункта назначения через WARP.",
|
||
"nordRouting": "Маршрутизация NordVPN",
|
||
"nordRoutingDesc": "Эти опции будут направлять трафик в зависимости от конкретного пункта назначения через NordVPN.",
|
||
"Template": "Шаблон конфигурации Xray",
|
||
"TemplateDesc": "На основе шаблона создаётся конфигурационный файл Xray.",
|
||
"FreedomStrategy": "Настройка стратегии протокола Freedom",
|
||
"FreedomStrategyDesc": "Установка стратегии вывода сети в протоколе Freedom",
|
||
"RoutingStrategy": "Настройка маршрутизации доменов",
|
||
"RoutingStrategyDesc": "Установка общей стратегии маршрутизации разрешения DNS",
|
||
"outboundTestUrl": "URL для теста исходящего",
|
||
"outboundTestUrlDesc": "URL для проверки подключения исходящего",
|
||
"Torrent": "Заблокировать BitTorrent",
|
||
"Inbounds": "Входящие подключения",
|
||
"InboundsDesc": "Изменение шаблона конфигурации для подключения определенных клиентов",
|
||
"Outbounds": "Исходящие подключения",
|
||
"Balancers": "Балансировщик",
|
||
"OutboundsDesc": "Изменение шаблона конфигурации, чтобы определить исходящие подключения для этого сервера",
|
||
"Routings": "Маршрутизация",
|
||
"RoutingsDesc": "Важен приоритет каждого правила!",
|
||
"completeTemplate": "Все",
|
||
"logLevel": "Уровень логов",
|
||
"logLevelDesc": "Уровень журнала для журналов ошибок, указывающий информацию, которую необходимо записать.",
|
||
"accessLog": "Логи доступа",
|
||
"accessLogDesc": "Путь к файлу журнала доступа. Специальное значение «none» отключает логи доступа.",
|
||
"errorLog": "Логи ошибок",
|
||
"errorLogDesc": "Путь к файлу логов ошибок. Специальное значение «none» отключает логи ошибок.",
|
||
"dnsLog": "Логи DNS",
|
||
"dnsLogDesc": "Включить логи запросов DNS",
|
||
"maskAddress": "Маскировка адреса",
|
||
"maskAddressDesc": "При активации реальный IP-адрес заменяется на маскировочный в логах.",
|
||
"statistics": "Статистика",
|
||
"statsInboundUplink": "Статистика входящего аплинка",
|
||
"statsInboundUplinkDesc": "Включает сбор статистики для исходящего трафика всех входящих прокси.",
|
||
"statsInboundDownlink": "Статистика входящего даунлинка",
|
||
"statsInboundDownlinkDesc": "Включает сбор статистики для входящего трафика всех входящих прокси.",
|
||
"statsOutboundUplink": "Статистика исходящего аплинка",
|
||
"statsOutboundUplinkDesc": "Включает сбор статистики для исходящего трафика всех исходящих прокси.",
|
||
"statsOutboundDownlink": "Статистика исходящего даунлинка",
|
||
"statsOutboundDownlinkDesc": "Включает сбор статистики для входящего трафика всех исходящих прокси.",
|
||
"rules": {
|
||
"first": "Первый",
|
||
"last": "Последний",
|
||
"up": "Поднять вверх",
|
||
"down": "Опустить вниз",
|
||
"source": "Источник",
|
||
"dest": "Пункт назначения",
|
||
"inbound": "Входящее подключение",
|
||
"outbound": "Исходящее подключение",
|
||
"balancer": "Балансировщик",
|
||
"info": "Информация",
|
||
"add": "Создать правило",
|
||
"edit": "Редактировать правило",
|
||
"useComma": "Элементы, разделённые запятыми"
|
||
},
|
||
"outbound": {
|
||
"addOutbound": "Создать исходящее подключение",
|
||
"addReverse": "Создать реверс-прокси",
|
||
"editOutbound": "Изменить исходящее подключение",
|
||
"editReverse": "Редактировать реверс-прокси",
|
||
"reverseTag": "Тег реверс-прокси",
|
||
"reverseTagDesc": "Тег исходящего подключения для простого реверс-прокси VLESS. Оставьте пустым для отключения.",
|
||
"reverseTagPlaceholder": "тег исходящего (пусто = отключено)",
|
||
"tag": "Тег",
|
||
"tagDesc": "Уникальный тег",
|
||
"address": "Адрес",
|
||
"reverse": "Реверс-прокси",
|
||
"domain": "Домен",
|
||
"type": "Тип",
|
||
"bridge": "Мост",
|
||
"portal": "Портал",
|
||
"link": "Ссылка",
|
||
"intercon": "Соединение",
|
||
"settings": "Настройки",
|
||
"accountInfo": "Информация об учетной записи",
|
||
"outboundStatus": "Статус исходящего подключения",
|
||
"sendThrough": "Отправить через",
|
||
"test": "Тест",
|
||
"testResult": "Результат теста",
|
||
"testing": "Тестирование соединения...",
|
||
"testSuccess": "Тест успешен",
|
||
"testFailed": "Тест не пройден",
|
||
"testError": "Не удалось протестировать исходящее подключение",
|
||
"nordvpn": "NordVPN",
|
||
"accessToken": "Токен доступа",
|
||
"country": "Страна",
|
||
"server": "Сервер",
|
||
"city": "Город",
|
||
"allCities": "Все города",
|
||
"privateKey": "Приватный ключ",
|
||
"load": "Нагрузка"
|
||
},
|
||
"balancer": {
|
||
"addBalancer": "Создать балансировщик",
|
||
"editBalancer": "Редактировать балансировщик",
|
||
"balancerStrategy": "Стратегия",
|
||
"balancerSelectors": "Селекторы",
|
||
"tag": "Тег",
|
||
"tagDesc": "Уникальный тег",
|
||
"balancerDesc": "Невозможно одновременно использовать balancerTag и outboundTag. При одновременном использовании будет работать только outboundTag."
|
||
},
|
||
"wireguard": {
|
||
"secretKey": "Секретный ключ",
|
||
"publicKey": "Публичный ключ",
|
||
"allowedIPs": "Разрешенные IP-адреса",
|
||
"endpoint": "Конечная точка",
|
||
"psk": "Общий ключ",
|
||
"domainStrategy": "Стратегия домена"
|
||
},
|
||
"tun": {
|
||
"nameDesc": "Имя интерфейса TUN. Значение по умолчанию - 'xray0'",
|
||
"mtuDesc": "Максимальная единица передачи. Максимальный размер пакетов данных. Значение по умолчанию - 1500",
|
||
"userLevel": "Уровень пользователя",
|
||
"userLevelDesc": "Все соединения, установленные через этот входящий поток, будут использовать этот уровень пользователя. Значение по умолчанию - 0"
|
||
},
|
||
"dns": {
|
||
"enable": "Включить DNS",
|
||
"enableDesc": "Включить встроенный DNS-сервер",
|
||
"tag": "Название тега DNS",
|
||
"tagDesc": "Этот тег будет доступен как входящий тег в правилах маршрутизации.",
|
||
"clientIp": "IP клиента",
|
||
"clientIpDesc": "Используется для уведомления сервера о указанном местоположении IP во время DNS-запросов",
|
||
"disableCache": "Отключить кэш",
|
||
"disableCacheDesc": "Отключает кэширование DNS",
|
||
"disableFallback": "Отключить резервный DNS",
|
||
"disableFallbackDesc": "Отключает резервные DNS-запросы",
|
||
"disableFallbackIfMatch": "Отключить резервный DNS при совпадении",
|
||
"disableFallbackIfMatchDesc": "Отключает резервные DNS-запросы при совпадении списка доменов DNS-сервера",
|
||
"enableParallelQuery": "Включить параллельные запросы",
|
||
"enableParallelQueryDesc": "Включить параллельные DNS-запросы к нескольким серверам для более быстрого разрешения",
|
||
"strategy": "Стратегия запроса",
|
||
"strategyDesc": "Общая стратегия разрешения доменных имен",
|
||
"add": "Создать DNS",
|
||
"edit": "Редактировать DNS",
|
||
"domains": "Домены",
|
||
"expectIPs": "Ожидаемые IP",
|
||
"unexpectIPs": "Неожидаемые IP",
|
||
"useSystemHosts": "Использовать системные Hosts",
|
||
"useSystemHostsDesc": "Использовать файл hosts из установленной системы",
|
||
"usePreset": "Использовать шаблон",
|
||
"dnsPresetTitle": "Шаблоны DNS",
|
||
"dnsPresetFamily": "Семейный"
|
||
},
|
||
"fakedns": {
|
||
"add": "Создать Fake DNS",
|
||
"edit": "Редактировать Fake DNS",
|
||
"ipPool": "Подсеть пула IP",
|
||
"poolSize": "Размер пула"
|
||
}
|
||
}
|
||
},
|
||
"tgbot": {
|
||
"keyboardClosed": "❌ Клавиатура закрыта.",
|
||
"noResult": "❗ Нет результатов.",
|
||
"noQuery": "❌ Запрос не найден. Пожалуйста, повторите команду.",
|
||
"wentWrong": "❌ Что-то пошло не так...",
|
||
"noIpRecord": "❗ Нет записей об IP-адресе.",
|
||
"noInbounds": "❗ У вас не настроено ни одного входящего подключения.",
|
||
"unlimited": "♾ Безлимит",
|
||
"add": "Добавить",
|
||
"month": "Месяц",
|
||
"months": "Месяцев",
|
||
"day": "День",
|
||
"days": "Дней",
|
||
"hours": "Часов",
|
||
"minutes": "Минуты",
|
||
"unknown": "Неизвестно",
|
||
"inbounds": "Входящие подключения",
|
||
"clients": "Клиенты",
|
||
"offline": "🔴 Офлайн",
|
||
"online": "🟢 Онлайн",
|
||
"commands": {
|
||
"unknown": "❗ Неизвестная команда",
|
||
"pleaseChoose": "👇 Пожалуйста, выберите:\r\n",
|
||
"help": "🤖 Добро пожаловать! Этот бот предназначен для предоставления вам данных с сервера и позволяет вносить изменения на него.\r\n\r\n",
|
||
"start": "👋 Привет, <i>{{ .Firstname }}</i>.\r\n",
|
||
"welcome": "🤖 Добро пожаловать в бота управления <b>{{ .Hostname }}</b>!\r\n",
|
||
"status": "✅ Бот функционирует нормально.",
|
||
"usage": "❗ Пожалуйста, укажите email для поиска.",
|
||
"getID": "🆔 Ваш User ID: <code>{{ .ID }}</code>",
|
||
"helpAdminCommands": "🔃 Для перезапуска Xray Core:\r\n<code>/restart</code>\r\n\r\n🔎 Для поиска клиента по email:\r\n<code>/usage [Email]</code>\r\n\r\n📊 Для поиска входящих подключений (со статистикой клиентов):\r\n<code>/inbound [имя подключения]</code>\r\n\r\n🆔 Ваш Telegram User ID:\r\n<code>/id</code>",
|
||
"helpClientCommands": "💲 Для просмотра информации о вашей подписке используйте команду:\r\n<code>/usage [Email]</code>\r\n\r\n🆔 Ваш Telegram User ID:\r\n<code>/id</code>",
|
||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||
"restartSuccess": "✅ Ядро Xray успешно перезапущено.",
|
||
"restartFailed": "❗ Ошибка при перезапуске Xray-core.\r\n\r\n<code>Ошибка: {{ .Error }}</code>.",
|
||
"xrayNotRunning": "❗ Xray Core не запущен.",
|
||
"startDesc": "Показать главное меню",
|
||
"helpDesc": "Справка по боту",
|
||
"statusDesc": "Проверить статус бота",
|
||
"idDesc": "Показать ваш Telegram ID"
|
||
},
|
||
"messages": {
|
||
"cpuThreshold": "🔴 Загрузка процессора составляет {{ .Percent }}%, что превышает пороговое значение {{ .Threshold }}%",
|
||
"selectUserFailed": "❌ Ошибка при выборе пользователя.",
|
||
"userSaved": "✅ Пользователь Telegram сохранен.",
|
||
"loginSuccess": "✅ Успешный вход в панель.\r\n",
|
||
"loginFailed": "❗️ Ошибка входа в панель.\r\n",
|
||
"2faFailed": "Ошибка 2FA",
|
||
"report": "🕰 Запланированные отчеты: {{ .RunTime }}\r\n",
|
||
"datetime": "⏰ Дата и время: {{ .DateTime }}\r\n",
|
||
"hostname": "💻 Имя хоста: {{ .Hostname }}\r\n",
|
||
"version": "🚀 Версия X-UI: {{ .Version }}\r\n",
|
||
"xrayVersion": "📡 Версия Xray: {{ .XrayVersion }}\r\n",
|
||
"ipv6": "🌐 IPv6: {{ .IPv6 }}\r\n",
|
||
"ipv4": "🌐 IPv4: {{ .IPv4 }}\r\n",
|
||
"ip": "🌐 IP: {{ .IP }}\r\n",
|
||
"ips": "🔢 IP-адреса:\r\n{{ .IPs }}\r\n",
|
||
"serverUpTime": "⏳ Время работы сервера: {{ .UpTime }} {{ .Unit }}\r\n",
|
||
"serverLoad": "📈 Нагрузка сервера: {{ .Load1 }}, {{ .Load2 }}, {{ .Load3 }}\r\n",
|
||
"serverMemory": "📋 ОЗУ сервера: {{ .Current }}/{{ .Total }}\r\n",
|
||
"tcpCount": "🔹 Количество TCP-соединений: {{ .Count }}\r\n",
|
||
"udpCount": "🔸 Количество UDP-соединений: {{ .Count }}\r\n",
|
||
"traffic": "🚦 Трафик: {{ .Total }} (↑{{ .Upload }},↓{{ .Download }})\r\n",
|
||
"xrayStatus": "ℹ️ Состояние Xray: {{ .State }}\r\n",
|
||
"username": "👤 Имя пользователя: {{ .Username }}\r\n",
|
||
"reason": "❗️ Причина: {{ .Reason }}\r\n",
|
||
"time": "⏰ Время: {{ .Time }}\r\n",
|
||
"inbound": "📍 Входящее подключение: {{ .Remark }}\r\n",
|
||
"port": "🔌 Порт: {{ .Port }}\r\n",
|
||
"expire": "📅 Дата окончания: {{ .Time }}\r\n",
|
||
"expireIn": "📅 Окончание через: {{ .Time }}\r\n",
|
||
"active": "💡 Активен: {{ .Enable }}\r\n",
|
||
"enabled": "🚨 Активен: {{ .Enable }}\r\n",
|
||
"online": "🌐 Статус соединения: {{ .Status }}\r\n",
|
||
"lastOnline": "🔙 Был(а) в сети: {{ .Time }}\r\n",
|
||
"email": "📧 Email: {{ .Email }}\r\n",
|
||
"upload": "🔼 Исходящий трафик: ↑{{ .Upload }}\r\n",
|
||
"download": "🔽 Входящий трафик: ↓{{ .Download }}\r\n",
|
||
"total": "📊 Всего: ↑↓{{ .UpDown }} из {{ .Total }}\r\n",
|
||
"TGUser": "👤 Telegram User ID: {{ .TelegramID }}\r\n",
|
||
"exhaustedMsg": "🚨 Исчерпаны {{ .Type }}:\r\n",
|
||
"exhaustedCount": "🚨 Количество исчерпанных {{ .Type }}:\r\n",
|
||
"onlinesCount": "🌐 Клиентов онлайн: {{ .Count }}\r\n",
|
||
"disabled": "🛑 Отключено: {{ .Disabled }}\r\n",
|
||
"depleteSoon": "🔜 Клиенты, у которых скоро исчерпание: {{ .Deplete }}\r\n\r\n",
|
||
"backupTime": "🗄 Время резервного копирования: {{ .Time }}\r\n",
|
||
"refreshedOn": "\r\n📋🔄 Обновлено: {{ .Time }}\r\n\r\n",
|
||
"yes": "✅ Да",
|
||
"no": "❌ Нет",
|
||
"received_id": "🔑📥 ID обновлён.",
|
||
"received_password": "🔑📥 Пароль обновлён.",
|
||
"received_email": "📧📥 Email обновлен.",
|
||
"received_comment": "💬📥 Комментарий обновлён.",
|
||
"id_prompt": "🔑 Стандартный ID: {{ .ClientId }}\n\nВведите ваш ID.",
|
||
"pass_prompt": "🔑 Стандартный пароль: {{ .ClientPassword }}\n\nВведите ваш пароль.",
|
||
"email_prompt": "📧 Стандартный email: {{ .ClientEmail }}\n\nВведите ваш email.",
|
||
"comment_prompt": "💬 Стандартный комментарий: {{ .ClientComment }}\n\nВведите ваш комментарий.",
|
||
"inbound_client_data_id": "🔄 Входящие подключения: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n📊 Трафик: {{ .ClientTraffic }}\n📅 Срок действия: {{ .ClientExp }}\n💬 Комментарий: {{ .ClientComment }}\n\nТеперь вы можете добавить клиента в входящее подключение!",
|
||
"inbound_client_data_pass": "🔄 Входящие подключения: {{ .InboundRemark }}\n\n🔑 Пароль: {{ .ClientPass }}\n📧 Email: {{ .ClientEmail }}\n📊 Трафик: {{ .ClientTraffic }}\n📅 Срок действия: {{ .ClientExp }}\n💬 Комментарий: {{ .ClientComment }}\n\nТеперь вы можете добавить клиента в входящее подключение!",
|
||
"cancel": "❌ Процесс отменён! \n\nВы можете снова начать с /start в любое время. 🔄",
|
||
"error_add_client": "⚠️ Ошибка:\n\n {{ .error }}",
|
||
"using_default_value": "Используется значение по умолчанию👌",
|
||
"incorrect_input": "Ваш ввод недействителен.\nФразы должны быть непрерывными без пробелов.\nПравильный пример: aaaaaa\nНеправильный пример: aaa aaa 🚫",
|
||
"AreYouSure": "Вы уверены? 🤔",
|
||
"SuccessResetTraffic": "📧 Почта: {{ .ClientEmail }}\n🏁 Результат: ✅ Успешно",
|
||
"FailedResetTraffic": "📧 Почта: {{ .ClientEmail }}\n🏁 Результат: ❌ Неудача \n\n🛠️ Ошибка: [ {{ .ErrorMessage }} ]",
|
||
"FinishProcess": "🔚 Сброс трафика завершён для всех клиентов."
|
||
},
|
||
"buttons": {
|
||
"closeKeyboard": "❌ Закрыть клавиатуру",
|
||
"cancel": "❌ Отмена",
|
||
"cancelReset": "❌ Отменить сброс",
|
||
"cancelIpLimit": "❌ Отменить лимит IP",
|
||
"confirmResetTraffic": "✅ Подтвердить сброс трафика?",
|
||
"confirmClearIps": "✅ Подтвердить очистку IP?",
|
||
"confirmRemoveTGUser": "✅ Подтвердить удаление пользователя Telegram?",
|
||
"confirmToggle": "✅ Подтвердить вкл/выкл пользователя?",
|
||
"dbBackup": "📂 Бэкап БД",
|
||
"serverUsage": "💻 Состояние сервера",
|
||
"getInbounds": "🔌 Входящие подключения",
|
||
"depleteSoon": "⚠️ Скоро конец",
|
||
"clientUsage": "Статистика клиента",
|
||
"onlines": "🟢 Онлайн",
|
||
"commands": "🖱️ Команды",
|
||
"refresh": "🔄 Обновить",
|
||
"clearIPs": "❌ Очистить IP",
|
||
"removeTGUser": "❌ Удалить пользователя Telegram",
|
||
"selectTGUser": "👤 Выбрать пользователя Telegram",
|
||
"selectOneTGUser": "👤 Выберите пользователя Telegram:",
|
||
"resetTraffic": "📈 Сбросить трафик",
|
||
"resetExpire": "📅 Изменить дату окончания",
|
||
"ipLog": "🔢 Лог IP",
|
||
"ipLimit": "🔢 Лимит IP",
|
||
"setTGUser": "👤 Установить пользователя Telegram",
|
||
"toggle": "🔘 Вкл./Выкл.",
|
||
"custom": "🔢 Свой",
|
||
"confirmNumber": "✅ Подтвердить: {{ .Num }}",
|
||
"confirmNumberAdd": "✅ Подтвердить добавление: {{ .Num }}",
|
||
"limitTraffic": "🚧 Лимит трафика",
|
||
"getBanLogs": "📄 Лог банов",
|
||
"allClients": "👥 Все клиенты",
|
||
"addClient": "➕ Новый клиент",
|
||
"submitDisable": "Добавить отключенным ☑️",
|
||
"submitEnable": "Добавить включенным ✅",
|
||
"use_default": "🏷️ Использовать по умолчанию",
|
||
"change_id": "⚙️🔑 ID",
|
||
"change_password": "⚙️🔑 Пароль",
|
||
"change_email": "⚙️📧 Email",
|
||
"change_comment": "⚙️💬 Комментарий",
|
||
"ResetAllTraffics": "Сбросить весь трафик",
|
||
"SortedTrafficUsageReport": "Отсортированный отчет об использовании трафика"
|
||
},
|
||
"answers": {
|
||
"successfulOperation": "✅ Успешно!",
|
||
"errorOperation": "❗ Ошибка в операции.",
|
||
"getInboundsFailed": "❌ Не удалось получить входящие подключения.",
|
||
"getClientsFailed": "❌ Не удалось получить клиентов.",
|
||
"canceled": "❌ {{ .Email }}: Операция отменена.",
|
||
"clientRefreshSuccess": "✅ {{ .Email }}: Клиент успешно обновлен.",
|
||
"IpRefreshSuccess": "✅ {{ .Email }}: IP-адреса успешно обновлены.",
|
||
"TGIdRefreshSuccess": "✅ {{ .Email }}: Пользователь Telegram клиента успешно обновлен.",
|
||
"resetTrafficSuccess": "✅ {{ .Email }}: Трафик успешно сброшен.",
|
||
"setTrafficLimitSuccess": "✅ {{ .Email }}: Лимит трафика успешно установлен.",
|
||
"expireResetSuccess": "✅ {{ .Email }}: Срок действия успешно сброшен.",
|
||
"resetIpSuccess": "✅ {{ .Email }}: Лимит IP ({{ .Count }}) успешно сохранен.",
|
||
"clearIpSuccess": "✅ {{ .Email }}: IP-адреса успешно очищены.",
|
||
"getIpLog": "✅ {{ .Email }}: Получен лог IP.",
|
||
"getUserInfo": "✅ {{ .Email }}: Получена информация о пользователе Telegram.",
|
||
"removedTGUserSuccess": "✅ {{ .Email }}: Пользователь Telegram успешно удален.",
|
||
"enableSuccess": "✅ {{ .Email }}: Включено успешно.",
|
||
"disableSuccess": "✅ {{ .Email }}: Отключено успешно.",
|
||
"askToAddUserId": "❌ Ваша конфигурация не найдена!\r\n💭 Пожалуйста, попросите администратора использовать ваш Telegram User ID в конфигурации.\r\n\r\n🆔 Ваш User ID: <code>{{ .TgUserID }}</code>",
|
||
"chooseClient": "Выберите клиента для входящего подключения {{ .Inbound }}",
|
||
"chooseInbound": "Выберите входящее подключение"
|
||
}
|
||
}
|
||
}
|