|
|
@@ -48,7 +48,6 @@
|
|
|
"copySuccess": "Скопировано",
|
|
|
"sure": "Да",
|
|
|
"encryption": "Шифрование",
|
|
|
- "useIPv4ForHost": "Использовать IPv4 для подключения к хосту",
|
|
|
"transmission": "Транспорт",
|
|
|
"host": "Хост",
|
|
|
"path": "Путь",
|
|
|
@@ -74,18 +73,9 @@
|
|
|
"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": "Информация о подписке",
|
|
|
@@ -106,8 +96,6 @@
|
|
|
},
|
|
|
"menu": {
|
|
|
"theme": "Тема",
|
|
|
- "dark": "Темная",
|
|
|
- "ultraDark": "Очень темная",
|
|
|
"dashboard": "Дашборд",
|
|
|
"inbounds": "Входящие",
|
|
|
"clients": "Клиенты",
|
|
|
@@ -118,7 +106,6 @@
|
|
|
"routing": "Маршрутизация",
|
|
|
"outbounds": "Исходящие",
|
|
|
"apiDocs": "Документация API",
|
|
|
- "logout": "Выход",
|
|
|
"link": "Управление",
|
|
|
"donate": "Поддержать",
|
|
|
"hosts": "Хосты",
|
|
|
@@ -139,7 +126,6 @@
|
|
|
}
|
|
|
},
|
|
|
"index": {
|
|
|
- "title": "Дашборд",
|
|
|
"cpu": "ЦП",
|
|
|
"logicalProcessors": "Логические процессоры",
|
|
|
"frequency": "Частота",
|
|
|
@@ -152,7 +138,6 @@
|
|
|
"restartXray": "Перезапуск",
|
|
|
"xraySwitch": "Выбор версии",
|
|
|
"xrayUpdates": "Обновления Xray",
|
|
|
- "xraySwitchClick": "Выберите нужную версию",
|
|
|
"xraySwitchClickDesk": "Важно: старые версии могут не поддерживать текущие настройки",
|
|
|
"updatePanel": "Обновить панель",
|
|
|
"panelUpdateDesc": "Это обновит 3X-UI до последнего релиза и перезапустит сервис панели.",
|
|
|
@@ -164,12 +149,10 @@
|
|
|
"currentCommit": "Текущий коммит",
|
|
|
"latestCommit": "Последний коммит",
|
|
|
"updateChannelChanged": "Канал обновления изменён",
|
|
|
- "upToDate": "Обновлено",
|
|
|
"xrayStatusUnknown": "Неизвестно",
|
|
|
"xrayStatusRunning": "Запущен",
|
|
|
"xrayStatusStop": "Остановлен",
|
|
|
"xrayStatusError": "Ошибка",
|
|
|
- "xrayErrorPopoverTitle": "Ошибка при запуске Xray",
|
|
|
"operationHours": "Время работы системы",
|
|
|
"systemHistoryTitle": "История системы",
|
|
|
"historyTitleCpu": "Загрузка ЦП",
|
|
|
@@ -211,9 +194,6 @@
|
|
|
"xrayObservatoryDead": "Недоступен",
|
|
|
"xrayObservatoryLastSeen": "Последняя активность",
|
|
|
"xrayObservatoryLastTry": "Последняя попытка",
|
|
|
- "trendLast2Min": "Последние 2 минуты",
|
|
|
- "systemLoad": "Нагрузка на систему",
|
|
|
- "systemLoadDesc": "Средняя загрузка системы за последние 1, 5 и 15 минут",
|
|
|
"connectionCount": "Количество соединений",
|
|
|
"ipAddresses": "IP-адреса сервера",
|
|
|
"toggleIpVisibility": "Скрыть или показать IP-адреса сервера",
|
|
|
@@ -223,13 +203,11 @@
|
|
|
"totalData": "Общий объем трафика",
|
|
|
"sent": "Отправлено",
|
|
|
"received": "Получено",
|
|
|
- "documentation": "Документация",
|
|
|
"xraySwitchVersionDialog": "Переключить версию Xray",
|
|
|
"xraySwitchVersionDialogDesc": "Вы точно хотите сменить версию Xray?",
|
|
|
"xraySwitchVersionPopover": "Xray успешно обновлён",
|
|
|
"panelUpdateDialog": "Вы действительно хотите обновить панель?",
|
|
|
"panelUpdateDialogDesc": "Это обновит 3X-UI до версии #version# и перезапустит сервис панели.",
|
|
|
- "panelUpdateCheckPopover": "Проверка обновления панели не удалась",
|
|
|
"panelUpdateStartedPopover": "Обновление панели началось",
|
|
|
"panelUpdateFailedTitle": "Не удалось обновить панель",
|
|
|
"panelUpdateFailedDesc": "Обновление не завершилось успешно. Проверьте журналы сервера или выполните 'x-ui update' в командной строке.",
|
|
|
@@ -258,7 +236,6 @@
|
|
|
"accessLogs": "Логи доступа",
|
|
|
"autoUpdate": "Автообновление",
|
|
|
"config": "Конфигурация",
|
|
|
- "backup": "Резервная копия",
|
|
|
"backupTitle": "Бэкап и восстановление",
|
|
|
"exportDatabase": "Экспорт базы данных",
|
|
|
"exportDatabaseDesc": "Нажмите, чтобы скачать файл .db, содержащий резервную копию вашей текущей базы данных на ваше устройство. Этот же файл можно восстановить на панели, работающей на PostgreSQL.",
|
|
|
@@ -276,7 +253,6 @@
|
|
|
"migrationDownloadPgDesc": "Нажмите, чтобы скачать базу данных SQLite (.db), собранную из ваших данных PostgreSQL и готовую для запуска панели на SQLite."
|
|
|
},
|
|
|
"inbounds": {
|
|
|
- "title": "Входящие",
|
|
|
"totalDownUp": "Отправлено/получено",
|
|
|
"totalUsage": "Всего трафика",
|
|
|
"inboundCount": "Всего подключений",
|
|
|
@@ -288,21 +264,11 @@
|
|
|
"localPanel": "Локальная панель",
|
|
|
"fallbacks": {
|
|
|
"title": "Fallback'и",
|
|
|
- "help": "Когда соединение на этом инбаунде не совпадает ни с одним клиентом, оно перенаправляется в другое место. Выберите дочерний инбаунд ниже, чтобы поля маршрутизации (SNI / ALPN / Path / xver) заполнились автоматически из его транспорта, либо оставьте выбор пустым и задайте Dest напрямую (например, 8080 или 127.0.0.1:8080), чтобы перенаправить на внешний сервер, такой как Nginx. Каждый дочерний инбаунд должен слушать на 127.0.0.1 с security=none.",
|
|
|
"empty": "Фолбэков пока нет",
|
|
|
"add": "Добавить фолбэк",
|
|
|
"pickInbound": "Выберите инбаунд",
|
|
|
"matchAny": "любой",
|
|
|
"destPlaceholder": "авто (listen:порт дочернего)",
|
|
|
- "rederive": "Заполнить из дочернего",
|
|
|
- "rederived": "Заполнено из дочернего",
|
|
|
- "editAdvanced": "Изменить поля маршрутизации",
|
|
|
- "hideAdvanced": "Скрыть расширенные",
|
|
|
- "quickAddAll": "Быстро добавить все подходящие",
|
|
|
- "quickAdded": "Добавлено {n} фолбэк(ов)",
|
|
|
- "quickAddedNone": "Нет новых подходящих инбаундов",
|
|
|
- "routesWhen": "Маршрутизирует, когда",
|
|
|
- "defaultCatchAll": "По умолчанию — ловит всё остальное",
|
|
|
"needsTls": "Fallbacks станут доступны после выбора TLS или Reality на вкладке «Безопасность» (только VLESS/Trojan поверх RAW)."
|
|
|
},
|
|
|
"protocol": "Протокол",
|
|
|
@@ -310,8 +276,6 @@
|
|
|
"portMap": "Сопоставление портов",
|
|
|
"traffic": "Трафик",
|
|
|
"speed": "Скорость",
|
|
|
- "details": "Подробнее",
|
|
|
- "transportConfig": "Транспорт",
|
|
|
"expireDate": "Дата окончания",
|
|
|
"createdAt": "Создано",
|
|
|
"updatedAt": "Обновлено",
|
|
|
@@ -319,8 +283,6 @@
|
|
|
"addInbound": "Создать подключение",
|
|
|
"generalActions": "Общие действия",
|
|
|
"modifyInbound": "Изменить подключение",
|
|
|
- "deleteInbound": "Удалить подключение",
|
|
|
- "deleteInboundContent": "Вы уверены, что хотите удалить подключение?",
|
|
|
"deleteConfirmTitle": "Удалить подключение \"{remark}\"?",
|
|
|
"deleteConfirmContent": "Подключение и все его клиенты будут удалены. Это действие нельзя отменить.",
|
|
|
"resetConfirmTitle": "Сбросить трафик \"{remark}\"?",
|
|
|
@@ -364,8 +326,6 @@
|
|
|
"exportAllLinksFileName": "Все-входящие",
|
|
|
"exportAllSubsFileName": "Все-входящие-Subs",
|
|
|
"inboundJsonTitle": "JSON входящего",
|
|
|
- "deleteClient": "Удалить клиента",
|
|
|
- "deleteClientContent": "Вы уверены, что хотите удалить клиента?",
|
|
|
"resetTrafficContent": "Вы уверены, что хотите сбросить трафик?",
|
|
|
"copyLink": "Копировать ссылку",
|
|
|
"address": "Адрес",
|
|
|
@@ -376,36 +336,19 @@
|
|
|
"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": "Установить сертификат панели",
|
|
|
"setDefaultCertEmpty": "Для панели не настроен сертификат. Сначала установите его в Настройках.",
|
|
|
@@ -438,21 +381,15 @@
|
|
|
"sniffing": "Sniffing",
|
|
|
"sniffingHelp": "Обёртка блока sniffing Xray:",
|
|
|
"stream": "Stream",
|
|
|
- "streamHelp": "Обёртка блока stream Xray:",
|
|
|
- "jsonErrorPrefix": "Расширенный JSON"
|
|
|
+ "streamHelp": "Обёртка блока stream Xray:"
|
|
|
},
|
|
|
- "telegramDesc": "Пожалуйста, укажите Chat ID Telegram. (используйте команду '/id' в боте) или ({'@'}userinfobot)",
|
|
|
- "subscriptionDesc": "Вы можете найти свою ссылку подписки в разделе 'Подробнее'",
|
|
|
"subSortIndex": "Порядок",
|
|
|
- "same": "Тот же",
|
|
|
"inboundInfo": "Информация о подключении",
|
|
|
"exportInbound": "Экспорт подключений",
|
|
|
"import": "Импортировать",
|
|
|
"importInbound": "Импорт подключений",
|
|
|
"periodicTrafficResetTitle": "Сброс трафика",
|
|
|
- "periodicTrafficResetDesc": "Автоматический сброс счетчика трафика через указанные интервалы",
|
|
|
"periodicTrafficResetDay": "День ежемесячного сброса",
|
|
|
- "lastReset": "Последний сброс",
|
|
|
"periodicTrafficReset": {
|
|
|
"never": "Никогда",
|
|
|
"daily": "Ежедневно",
|
|
|
@@ -464,7 +401,6 @@
|
|
|
"obtain": "Получить",
|
|
|
"updateSuccess": "Обновление прошло успешно",
|
|
|
"logCleanSuccess": "Лог был очищен",
|
|
|
- "inboundsUpdateSuccess": "Подключения успешно обновлены",
|
|
|
"inboundUpdateSuccess": "Подключение успешно обновлено",
|
|
|
"inboundCreateSuccess": "Подключение успешно создано",
|
|
|
"bulkDeleted": "Удалено подключений: {count}",
|
|
|
@@ -474,7 +410,6 @@
|
|
|
"inboundClientDeleteSuccess": "Клиент подключения удалён",
|
|
|
"inboundClientUpdateSuccess": "Клиент подключения обновлён",
|
|
|
"savedNodeOfflineWillSync": "Сохранено локально. Опорный узел отключён или недоступен — изменение синхронизируется после повторного подключения.",
|
|
|
- "delDepletedClientsSuccess": "Все исчерпанные клиенты удалены",
|
|
|
"resetAllClientTrafficSuccess": "Весь трафик клиента сброшен",
|
|
|
"resetAllTrafficSuccess": "Весь трафик сброшен",
|
|
|
"resetInboundClientTrafficSuccess": "Трафик сброшен",
|
|
|
@@ -717,23 +652,6 @@
|
|
|
"peerNumber": "Peer {n}",
|
|
|
"peerNumberConfig": "Конфиг Peer {n}"
|
|
|
},
|
|
|
- "stream": {
|
|
|
- "general": {
|
|
|
- "request": "Запрос",
|
|
|
- "response": "Ответ",
|
|
|
- "name": "Имя",
|
|
|
- "value": "Значение"
|
|
|
- },
|
|
|
- "tcp": {
|
|
|
- "version": "Версия",
|
|
|
- "method": "Метод",
|
|
|
- "path": "Путь",
|
|
|
- "status": "Статус",
|
|
|
- "statusDescription": "Описание статуса",
|
|
|
- "requestHeader": "Заголовок запроса",
|
|
|
- "responseHeader": "Заголовок ответа"
|
|
|
- }
|
|
|
- },
|
|
|
"sniffingDestOverride": "Переопределение назначения"
|
|
|
},
|
|
|
"clients": {
|
|
|
@@ -747,24 +665,9 @@
|
|
|
"addExternalSubscription": "Добавить внешнюю подписку",
|
|
|
"noExternalLinks": "Пока нет внешних ссылок.",
|
|
|
"noExternalSubscriptions": "Пока нет внешних подписок.",
|
|
|
- "add": "Добавить клиента",
|
|
|
- "edit": "Изменить клиента",
|
|
|
- "submitAdd": "Добавить клиента",
|
|
|
"submitEdit": "Сохранить изменения",
|
|
|
"clientCount": "Количество клиентов",
|
|
|
"bulk": "Массовое добавление",
|
|
|
- "copyFromInbound": "Скопировать клиентов из входящего",
|
|
|
- "copyToInbound": "Скопировать клиентов в",
|
|
|
- "copySelected": "Скопировать выбранное",
|
|
|
- "copySource": "Источник",
|
|
|
- "copyEmailPreview": "Предпросмотр результирующего email",
|
|
|
- "copySelectSourceFirst": "Сначала выберите исходный входящий.",
|
|
|
- "copyResult": "Результат копирования",
|
|
|
- "copyResultSuccess": "Скопировано успешно",
|
|
|
- "copyResultNone": "Нечего копировать: клиенты не выбраны или источник пуст",
|
|
|
- "copyResultErrors": "Ошибки копирования",
|
|
|
- "copyFlowLabel": "Flow для новых клиентов (VLESS)",
|
|
|
- "copyFlowHint": "Применяется ко всем скопированным клиентам. Оставьте пустым, чтобы пропустить.",
|
|
|
"selectAll": "Выбрать всё",
|
|
|
"clearAll": "Очистить всё",
|
|
|
"method": "Метод",
|
|
|
@@ -775,7 +678,6 @@
|
|
|
"postfix": "Постфикс",
|
|
|
"delayedStart": "Старт после первого использования",
|
|
|
"expireDays": "Длительность (дней)",
|
|
|
- "days": "Дни",
|
|
|
"renew": "Автопродление",
|
|
|
"renewDesc": "Автоматическое продление после окончания. (0 = отключено) (единица: день)",
|
|
|
"renewDays": "Автопродление (дней)",
|
|
|
@@ -798,7 +700,6 @@
|
|
|
"sortExpiringSoonest": "Скорее истекают",
|
|
|
"has": "Есть",
|
|
|
"hasNot": "Нет",
|
|
|
- "title": "Клиенты",
|
|
|
"actions": "Действия",
|
|
|
"totalGB": "Лимит трафика (ГБ)",
|
|
|
"totalGBDesc": "Квота трафика для этого клиента. 0 = без ограничений.",
|
|
|
@@ -826,8 +727,6 @@
|
|
|
"addClient": "Добавить клиента",
|
|
|
"qrCode": "QR-код",
|
|
|
"clientInfo": "Информация о клиенте",
|
|
|
- "delete": "Удалить",
|
|
|
- "reset": "Сбросить трафик",
|
|
|
"editClient": "Изменить клиента",
|
|
|
"client": "Клиент",
|
|
|
"enabled": "Включён",
|
|
|
@@ -841,13 +740,11 @@
|
|
|
"noLinks": "Нет ссылок для общего доступа — сначала привяжите клиента к входящему с поддерживаемым протоколом.",
|
|
|
"link": "Ссылка",
|
|
|
"resetNotPossible": "Сначала привяжите этого клиента к входящему.",
|
|
|
- "general": "Общие",
|
|
|
"resetAllTraffics": "Сбросить трафик всех клиентов",
|
|
|
"resetAllTrafficsTitle": "Сбросить трафик всех клиентов?",
|
|
|
"resetAllTrafficsContent": "Счётчики отправки/приёма всех клиентов сбрасываются в ноль. Квоты и срок действия не затрагиваются. Это действие нельзя отменить.",
|
|
|
"deleteConfirmTitle": "Удалить клиента {email}?",
|
|
|
"deleteConfirmContent": "Клиент будет удалён из всех привязанных входящих, а его запись трафика будет уничтожена. Это действие нельзя отменить.",
|
|
|
- "deleteSelected": "Удалить ({count})",
|
|
|
"adjustSelected": "Изменить ({count})",
|
|
|
"subLinksSelected": "Sub-ссылки ({count})",
|
|
|
"addToGroupTitle": "Добавить {count} клиент(ов) в группу",
|
|
|
@@ -869,12 +766,10 @@
|
|
|
"bulkDisableConfirmTitle": "Отключить {count} клиентов?",
|
|
|
"bulkDisableConfirmContent": "Отключает каждого выбранного клиента на всех привязанных подключениях. Они сразу теряют доступ, но их записи и трафик сохраняются.",
|
|
|
"selectedCount": "{count} выбрано",
|
|
|
- "attachSelected": "Привязать ({count})",
|
|
|
"attachToInboundsTitle": "Привязать {count} клиент(ов) к входящим",
|
|
|
"attachToInboundsDesc": "Привязывает выбранных {count} клиент(ов) (тот же UUID/пароль и общий трафик) к выбранным входящим. Существующие привязки сохраняются.",
|
|
|
"attachToInboundsTargets": "Целевые входящие",
|
|
|
"attachToInboundsNoTargets": "Нет доступных многопользовательских входящих для привязки.",
|
|
|
- "detachSelected": "Отвязать ({count})",
|
|
|
"detach": "Отвязать",
|
|
|
"detachFromInboundsTitle": "Отвязать {count} клиент(ов) от входящих",
|
|
|
"detachFromInboundsDesc": "Удаляет выбранных {count} клиент(ов) из выбранных входящих. Пары, где клиент не был привязан, тихо пропускаются. Записи клиентов сохраняются (используйте Delete для полного удаления).",
|
|
|
@@ -928,8 +823,6 @@
|
|
|
"reverseTagPlaceholder": "Необязательный Reverse tag",
|
|
|
"telegramId": "ID пользователя Telegram",
|
|
|
"telegramIdPlaceholder": "Числовой ID пользователя Telegram (0 = нет)",
|
|
|
- "created": "Создан",
|
|
|
- "updated": "Обновлён",
|
|
|
"ipLimit": "Лимит IP",
|
|
|
"toasts": {
|
|
|
"deleted": "Клиент удалён",
|
|
|
@@ -952,7 +845,6 @@
|
|
|
}
|
|
|
},
|
|
|
"groups": {
|
|
|
- "title": "Группы",
|
|
|
"name": "Имя",
|
|
|
"clientCount": "Клиенты",
|
|
|
"totalGroups": "Всего групп",
|
|
|
@@ -994,7 +886,6 @@
|
|
|
"removeFromGroupResult": "Удалено {count} клиент(ов) из {name}."
|
|
|
},
|
|
|
"nodes": {
|
|
|
- "title": "Узлы",
|
|
|
"addNode": "Добавить узел",
|
|
|
"editNode": "Изменить узел",
|
|
|
"totalNodes": "Всего узлов",
|
|
|
@@ -1013,8 +904,6 @@
|
|
|
"apiTokenPlaceholder": "Токен со страницы Настроек удалённой панели",
|
|
|
"apiTokenHint": "Удалённая панель показывает свой токен API в разделе Учетная запись → Токен API.",
|
|
|
"apiTokenKeepHint": "Оставьте пустым, чтобы сохранить текущий токен",
|
|
|
- "regenerate": "Сгенерировать токен заново",
|
|
|
- "regenerateConfirm": "Повторная генерация аннулирует текущий токен. Любая центральная панель, использующая его, потеряет доступ до обновления. Продолжить?",
|
|
|
"allowPrivateAddress": "Разрешить частный адрес",
|
|
|
"allowPrivateAddressHint": "Включить только для узлов в частной сети или VPN.",
|
|
|
"outboundTag": "Исходящее подключение",
|
|
|
@@ -1046,7 +935,6 @@
|
|
|
"updatePanel": "Обновить панель",
|
|
|
"updateSelected": "Обновить выбранные ({count})",
|
|
|
"updateAvailable": "Доступно обновление",
|
|
|
- "upToDate": "Актуально",
|
|
|
"updateConfirmTitle": "Обновить {count} узлов до последней версии?",
|
|
|
"updateConfirmContent": "Каждый выбранный узел загрузит последний релиз и перезапустится. Обновляются только включённые узлы в сети.",
|
|
|
"updateDevChannel": "Обновить до канала разработки (последний коммит)",
|
|
|
@@ -1110,6 +998,7 @@
|
|
|
"pinFetchFailed": "Не удалось получить сертификат"
|
|
|
},
|
|
|
"settings": {
|
|
|
+ "defaultTag": "По умолчанию",
|
|
|
"title": "Настройки",
|
|
|
"save": "Сохранить",
|
|
|
"infoDesc": "Сохраните изменения и перезапустите панель для их применения.",
|
|
|
@@ -1455,13 +1344,8 @@
|
|
|
"metricsListen": "Эндпоинт метрик",
|
|
|
"metricsListenDesc": "Публикует метрики Xray в стиле Prometheus по этому адресу:порту (например, 127.0.0.1:11111). Оставьте пустым, чтобы отключить. Привяжите к localhost и проксируйте через reverse-proxy — он без аутентификации.",
|
|
|
"metricsTag": "Тег метрик",
|
|
|
- "title": "Настройки Xray",
|
|
|
"save": "Сохранить",
|
|
|
- "restart": "Перезапуск Xray",
|
|
|
"restartSuccess": "Xray успешно перезапущен",
|
|
|
- "restartOutputTitle": "Вывод перезапуска Xray",
|
|
|
- "restartConfirmTitle": "Перезапустить xray?",
|
|
|
- "restartConfirmContent": "Перезагружает сервис xray с сохранённой конфигурацией.",
|
|
|
"stopSuccess": "Xray успешно остановлен",
|
|
|
"restartError": "Произошла ошибка при перезапуске Xray.",
|
|
|
"stopError": "Произошла ошибка при остановке Xray.",
|
|
|
@@ -1471,7 +1355,6 @@
|
|
|
"generalConfigsDesc": "Эти параметры описывают общие настройки",
|
|
|
"logConfigs": "Лог",
|
|
|
"logConfigsDesc": "Логи могут замедлять работу сервера. Включайте только нужные вам виды логов при необходимости!",
|
|
|
- "blockConfigsDesc": "Настройте, чтобы клиенты не имели доступа к определенным протоколам",
|
|
|
"basicRouting": "Базовые соединения",
|
|
|
"blockConnectionsConfigsDesc": "Эти параметры будут блокировать трафик в зависимости от страны назначения.",
|
|
|
"directConnectionsConfigsDesc": "Прямое соединение означает, что определенный трафик не будет перенаправлен через другой сервер.",
|
|
|
@@ -1481,10 +1364,6 @@
|
|
|
"directdomains": "Прямые домены",
|
|
|
"ipv4Routing": "Правила IPv4",
|
|
|
"ipv4RoutingDesc": "Эти параметры позволят клиентам маршрутизироваться к целевым доменам только через IPv4",
|
|
|
- "warpRouting": "Правила WARP",
|
|
|
- "warpRoutingDesc": " Эти опции будут направлять трафик в зависимости от конкретного пункта назначения через WARP.",
|
|
|
- "nordRouting": "Маршрутизация NordVPN",
|
|
|
- "nordRoutingDesc": "Эти опции будут направлять трафик в зависимости от конкретного пункта назначения через NordVPN.",
|
|
|
"Template": "Шаблон конфигурации Xray",
|
|
|
"TemplateDesc": "На основе шаблона создаётся конфигурационный файл Xray.",
|
|
|
"FreedomStrategy": "Настройка стратегии протокола Freedom",
|
|
|
@@ -1498,10 +1377,7 @@
|
|
|
"outboundTestUrlDesc": "URL для проверки подключения исходящего",
|
|
|
"Torrent": "Заблокировать BitTorrent",
|
|
|
"Inbounds": "Входящие",
|
|
|
- "InboundsDesc": "Изменение шаблона конфигурации для подключения определенных клиентов",
|
|
|
"Outbounds": "Исходящие",
|
|
|
- "OutboundSubscriptions": "Подписки исходящих",
|
|
|
- "OutboundSubscriptionsDesc": "Импорт исходящих из удалённых URL подписок (vmess/vless/trojan/ss/...). Теги остаются неизменными для использования в балансировщиках и правилах маршрутизации. Обновление выполняется автоматически.",
|
|
|
"Balancers": "Балансировщик",
|
|
|
"balancerTagRequired": "Тег обязателен",
|
|
|
"balancerSelectorRequired": "Выберите хотя бы одно исходящее",
|
|
|
@@ -1520,9 +1396,7 @@
|
|
|
"routeTesterMatchedOutbound": "Совпавший исходящий",
|
|
|
"routeTesterViaBalancer": "через балансировщик",
|
|
|
"routeTesterDefaultOutbound": "Ни одно правило маршрутизации не совпало — трафик направляется в исходящий по умолчанию (первый).",
|
|
|
- "OutboundsDesc": "Изменение шаблона конфигурации, чтобы определить исходящие подключения для этого сервера",
|
|
|
"Routings": "Маршрутизация",
|
|
|
- "RoutingsDesc": "Важен приоритет каждого правила!",
|
|
|
"completeTemplate": "Все",
|
|
|
"logLevel": "Уровень логов",
|
|
|
"logLevelDesc": "Уровень журнала для журналов ошибок, указывающий информацию, которую необходимо записать.",
|
|
|
@@ -1536,13 +1410,9 @@
|
|
|
"maskAddressDesc": "При активации реальный IP-адрес заменяется на маскировочный в логах.",
|
|
|
"statistics": "Статистика",
|
|
|
"statsInboundUplink": "Статистика входящего аплинка",
|
|
|
- "statsInboundUplinkDesc": "Включает сбор статистики для исходящего трафика всех входящих прокси.",
|
|
|
"statsInboundDownlink": "Статистика входящего даунлинка",
|
|
|
- "statsInboundDownlinkDesc": "Включает сбор статистики для входящего трафика всех входящих прокси.",
|
|
|
"statsOutboundUplink": "Статистика исходящего аплинка",
|
|
|
- "statsOutboundUplinkDesc": "Включает сбор статистики для исходящего трафика всех исходящих прокси.",
|
|
|
"statsOutboundDownlink": "Статистика исходящего даунлинка",
|
|
|
- "statsOutboundDownlinkDesc": "Включает сбор статистики для входящего трафика всех исходящих прокси.",
|
|
|
"connectionLimits": "Ограничения соединения",
|
|
|
"connectionLimitsDesc": "Политики уровня соединения для пользователей уровня 0. Оставьте поле пустым, чтобы использовать значение Xray по умолчанию.",
|
|
|
"connIdle": "Тайм-аут простоя",
|
|
|
@@ -1552,18 +1422,10 @@
|
|
|
"bufferSizePlaceholder": "авто",
|
|
|
"seconds": "секунд",
|
|
|
"rules": {
|
|
|
- "first": "Первый",
|
|
|
- "last": "Последний",
|
|
|
- "up": "Поднять вверх",
|
|
|
- "down": "Опустить вниз",
|
|
|
"source": "Источник",
|
|
|
"dest": "Пункт назначения",
|
|
|
"inbound": "Входящее подключение",
|
|
|
- "outbound": "Исходящее подключение",
|
|
|
"balancer": "Балансировщик",
|
|
|
- "info": "Инфо",
|
|
|
- "add": "Создать правило",
|
|
|
- "edit": "Редактировать правило",
|
|
|
"useComma": "Элементы, разделённые запятыми"
|
|
|
},
|
|
|
"routing": {
|
|
|
@@ -1604,7 +1466,6 @@
|
|
|
"ruleN": "Правило {n}",
|
|
|
"action": "Действие",
|
|
|
"redirect": "Redirect",
|
|
|
- "fragment": "Fragment",
|
|
|
"finalRules": "Финальные правила",
|
|
|
"overrideXrayPrivateIp": "Переопределить дефолтный блок частных IP в Xray",
|
|
|
"blockDelay": "Задержка блока (мс)",
|
|
|
@@ -1630,43 +1491,17 @@
|
|
|
"keepAliveInterval": "Интервал keep alive",
|
|
|
"markFwmark": "Mark (fwmark)",
|
|
|
"interface": "Интерфейс",
|
|
|
- "ipv6Only": "Только IPv6",
|
|
|
- "acceptProxyProtocol": "Принимать proxy protocol",
|
|
|
"proxyProtocol": "Proxy protocol",
|
|
|
"tcpUserTimeoutMs": "TCP user timeout (мс)",
|
|
|
"tcpKeepAliveIdleS": "TCP keep-alive idle (с)"
|
|
|
},
|
|
|
"outbound": {
|
|
|
- "addOutbound": "Создать исходящее подключение",
|
|
|
- "addReverse": "Создать реверс-прокси",
|
|
|
- "editOutbound": "Изменить исходящее подключение",
|
|
|
- "editReverse": "Редактировать реверс-прокси",
|
|
|
- "reverseTag": "Тег реверс-прокси",
|
|
|
- "reverseTagDesc": "Тег исходящего подключения для простого реверс-прокси VLESS. Оставьте пустым для отключения.",
|
|
|
- "reverseTagPlaceholder": "тег исходящего (пусто = отключено)",
|
|
|
"tag": "Тег",
|
|
|
- "tagDesc": "Уникальный тег",
|
|
|
- "address": "Адрес",
|
|
|
"egress": "Выход",
|
|
|
"egressHint": "Запустите HTTP-тест, чтобы показать выходной IP и страну.",
|
|
|
- "reverse": "Реверс-прокси",
|
|
|
- "domain": "Домен",
|
|
|
- "type": "Тип",
|
|
|
- "bridge": "Bridge",
|
|
|
- "portal": "Portal",
|
|
|
- "link": "Ссылка",
|
|
|
- "intercon": "Соединение",
|
|
|
- "settings": "Настройки",
|
|
|
- "accountInfo": "Информация об учетной записи",
|
|
|
"outboundStatus": "Статус исходящего подключения",
|
|
|
"sendThrough": "Отправить через",
|
|
|
"targetStrategy": "Стратегия назначения",
|
|
|
- "test": "Тест",
|
|
|
- "testResult": "Результат теста",
|
|
|
- "testing": "Тестирование соединения...",
|
|
|
- "testSuccess": "Тест успешен",
|
|
|
- "testFailed": "Тест не пройден",
|
|
|
- "testError": "Не удалось протестировать исходящее подключение",
|
|
|
"modeRealDelay": "Реальная задержка",
|
|
|
"testModeTooltip": "TCP: быстрый dial-only probe. HTTP: полный запрос через xray. Реальная задержка: полное время с установлением соединения.",
|
|
|
"testAll": "Тестировать все",
|
|
|
@@ -1674,14 +1509,10 @@
|
|
|
"breakdownConnect": "Подключение к прокси",
|
|
|
"breakdownTls": "TLS через исходящий",
|
|
|
"breakdownTtfb": "Первый байт",
|
|
|
- "nordvpn": "NordVPN",
|
|
|
- "accessToken": "Токен доступа",
|
|
|
"country": "Страна",
|
|
|
"server": "Сервер",
|
|
|
"city": "Город",
|
|
|
"allCities": "Все города",
|
|
|
- "privateKey": "Приватный ключ",
|
|
|
- "load": "Нагрузка",
|
|
|
"moveToTop": "Переместить наверх"
|
|
|
},
|
|
|
"outboundSub": {
|
|
|
@@ -1711,16 +1542,11 @@
|
|
|
"active": "Активные подписки",
|
|
|
"empty": "Подписок пока нет. Добавьте одну выше.",
|
|
|
"colRemark": "Примечание",
|
|
|
- "colPrefix": "Префикс",
|
|
|
- "colInterval": "Интервал",
|
|
|
"colLastFetch": "Последнее обновление",
|
|
|
"colEnabled": "Включено",
|
|
|
"auto": "авто",
|
|
|
"never": "никогда",
|
|
|
- "yes": "Да",
|
|
|
- "no": "Нет",
|
|
|
"refreshNow": "Обновить сейчас",
|
|
|
- "lastError": "Последняя ошибка",
|
|
|
"deleteConfirm": "Удалить эту подписку?",
|
|
|
"restartHint": "После добавления или обновления перезапустите Xray (или дождитесь следующей автоперезагрузки), чтобы исходящие стали активными.",
|
|
|
"fromSubsTitle": "Из подписок исходящих (только для чтения)",
|
|
|
@@ -1737,8 +1563,6 @@
|
|
|
"tabBalancerSettings": "Настройки балансировщика",
|
|
|
"tabObservatory": "Обсерватория",
|
|
|
"observatory": {
|
|
|
- "title": "Обсерватория",
|
|
|
- "burstTitle": "Burst-обсерватория",
|
|
|
"autoManaged": "Наблюдатели управляются автоматически на основе ваших балансировщиков. Ниже можно настроить, как они опрашивают; отслеживаемые исходящие следуют за селекторами балансировщика.",
|
|
|
"emptyHint": "Нет активного наблюдателя соединений. Он добавляется автоматически при создании балансировщика Least Ping или Least Load — либо Random / Round-robin с fallback — чтобы балансировщики с наблюдателем могли проверять состояние исходящих перед выбором цели.",
|
|
|
"mixedLegacy": "В этой конфигурации одновременно есть Observatory и Burst Observatory. Xray использует один глобальный наблюдатель, поэтому такое устаревшее смешанное состояние не поддерживается; сохранение балансировщиков нормализует его до одного наблюдателя.",
|
|
|
@@ -1772,12 +1596,8 @@
|
|
|
"balancerRemoved": "Балансировщик {tag} — удалён (не осталось целей)"
|
|
|
},
|
|
|
"balancer": {
|
|
|
- "addBalancer": "Создать балансировщик",
|
|
|
- "editBalancer": "Редактировать балансировщик",
|
|
|
"balancerStrategy": "Стратегия",
|
|
|
- "balancerSelectors": "Селекторы",
|
|
|
"tag": "Тег",
|
|
|
- "tagDesc": "Уникальный тег",
|
|
|
"tagDuplicate": "Тег уже используется другим балансировщиком",
|
|
|
"tagPlaceholder": "уникальный тег балансировщика",
|
|
|
"selector": "Селектор",
|
|
|
@@ -1789,7 +1609,6 @@
|
|
|
"tolerance": "Допуск",
|
|
|
"baselines": "Baselines",
|
|
|
"costs": "Costs",
|
|
|
- "balancerDesc": "Невозможно одновременно использовать balancerTag и outboundTag. При одновременном использовании будет работать только outboundTag.",
|
|
|
"costMatch": "Шаблон тега",
|
|
|
"costValue": "Вес",
|
|
|
"costRegexp": "Совпадение по регулярному выражению",
|
|
|
@@ -1804,14 +1623,10 @@
|
|
|
"publicKey": "Публичный ключ",
|
|
|
"allowedIPs": "Разрешенные IP-адреса",
|
|
|
"endpoint": "Конечная точка",
|
|
|
- "psk": "Общий ключ",
|
|
|
"domainStrategy": "Стратегия домена"
|
|
|
},
|
|
|
"tun": {
|
|
|
- "nameDesc": "Имя интерфейса TUN. Значение по умолчанию - 'xray0'",
|
|
|
- "mtuDesc": "Максимальная единица передачи. Максимальный размер пакетов данных. Значение по умолчанию - 1500",
|
|
|
- "userLevel": "Уровень пользователя",
|
|
|
- "userLevelDesc": "Все соединения, установленные через этот входящий поток, будут использовать этот уровень пользователя. Значение по умолчанию - 0"
|
|
|
+ "userLevel": "Уровень пользователя"
|
|
|
},
|
|
|
"nord": {
|
|
|
"accessToken": "Access token",
|
|
|
@@ -1896,7 +1711,6 @@
|
|
|
},
|
|
|
"fakedns": {
|
|
|
"add": "Создать Fake DNS",
|
|
|
- "edit": "Редактировать Fake DNS",
|
|
|
"ipPool": "Подсеть пула IP",
|
|
|
"poolSize": "Размер пула"
|
|
|
},
|
|
|
@@ -2032,7 +1846,6 @@
|
|
|
"add": "Добавить",
|
|
|
"month": "Месяц",
|
|
|
"months": "Месяцев",
|
|
|
- "day": "День",
|
|
|
"days": "Дней",
|
|
|
"hours": "Часов",
|
|
|
"minutes": "Минуты",
|
|
|
@@ -2071,7 +1884,6 @@
|
|
|
"userSaved": "✅ Пользователь Telegram сохранен.",
|
|
|
"loginSuccess": "✅ Успешный вход в панель.\r\n",
|
|
|
"loginFailed": "❗️ Ошибка входа в панель.\r\n",
|
|
|
- "2faFailed": "Ошибка 2FA",
|
|
|
"report": "🕰 Запланированные отчеты: {{ .RunTime }}\r\n",
|
|
|
"datetime": "⏰ Дата и время: {{ .DateTime }}\r\n",
|
|
|
"hostname": "💻 Хост: {{ .Hostname }}\r\n",
|
|
|
@@ -2104,7 +1916,6 @@
|
|
|
"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",
|
|
|
@@ -2113,16 +1924,10 @@
|
|
|
"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": "Используется значение по умолчанию👌",
|
|
|
@@ -2139,8 +1944,6 @@
|
|
|
"eventXrayCrashError": "Ошибка: {{ .Error }}",
|
|
|
"eventNodeDown": "Узел {{ .Name }} НЕДОСТУПЕН",
|
|
|
"eventNodeUp": "Узел {{ .Name }} В СЕТИ",
|
|
|
- "eventCPUHigh": "Высокая загрузка CPU",
|
|
|
- "eventCPUHighDetail": "CPU: {{ .Detail }}",
|
|
|
"eventLoginFallback": "Неудачный вход с {{ .Source }}",
|
|
|
"memoryThreshold": "🔴 Использование памяти {{ .Percent }}% превышает пороговое значение {{ .Threshold }}%"
|
|
|
},
|
|
|
@@ -2181,11 +1984,8 @@
|
|
|
"submitDisable": "Добавить отключенным ☑️",
|
|
|
"submitEnable": "Добавить включенным ✅",
|
|
|
"use_default": "🏷️ Использовать по умолчанию",
|
|
|
- "change_id": "⚙️🔑 ID",
|
|
|
- "change_password": "⚙️🔑 Пароль",
|
|
|
"change_email": "⚙️📧 Email",
|
|
|
"change_comment": "⚙️💬 Комментарий",
|
|
|
- "change_flow": "⚙️🚦 Flow",
|
|
|
"ResetAllTraffics": "Сбросить весь трафик",
|
|
|
"SortedTrafficUsageReport": "Отсортированный отчет об использовании трафика"
|
|
|
},
|
|
|
@@ -2214,31 +2014,16 @@
|
|
|
}
|
|
|
},
|
|
|
"email": {
|
|
|
- "subjectOutboundDown": "Исходящее подключение {{ .Tag }} НЕДОСТУПНО",
|
|
|
- "subjectOutboundUp": "Исходящее подключение {{ .Tag }} РАБОТАЕТ",
|
|
|
- "subjectXrayCrash": "Сбой Xray",
|
|
|
- "subjectCPUHigh": "Высокая загрузка CPU",
|
|
|
- "subjectLoginSuccess": "Успешный вход",
|
|
|
- "subjectLoginFailed": "Неудачный вход",
|
|
|
- "titleOutboundDown": "Исходящее подключение НЕДОСТУПНО",
|
|
|
- "titleOutboundUp": "Исходящее подключение РАБОТАЕТ",
|
|
|
- "titleXrayCrash": "Сбой Xray",
|
|
|
- "titleCPUHigh": "Высокая загрузка CPU",
|
|
|
- "titleLoginSuccess": "Успешный вход",
|
|
|
- "titleLoginFailed": "Неудачный вход",
|
|
|
"labelStatus": "Статус",
|
|
|
"labelOutbound": "Исходящее подключение",
|
|
|
"labelNode": "Узел",
|
|
|
"labelError": "Ошибка",
|
|
|
"labelDelay": "Задержка",
|
|
|
- "labelDetail": "Подробности",
|
|
|
"labelUsername": "Имя пользователя",
|
|
|
"labelIP": "IP",
|
|
|
"labelReason": "Причина",
|
|
|
"labelSource": "Источник",
|
|
|
- "labelTime": "Время",
|
|
|
"statusCrashed": "СБОЙ",
|
|
|
- "statusRunning": "Работает",
|
|
|
"statusHigh": "ВЫСОКАЯ",
|
|
|
"statusSuccess": "УСПЕШНО",
|
|
|
"statusFailed": "НЕУДАЧНО",
|