a469ac6897
* AmneziaWG 2.0: support for H1-H4 ranges ## Changes: ``` - [+] Added support for H1-H4 ranges - [!] Fixed interface fields order (H1-H4 goes before I1-I5) ``` ## Known issues: ``` - [!] no check for unique/overlap of H1-H4 values on settings apply: settings will be applied but wg interface will crash with "Invalid argument" error ``` * AmneziaWG 2.0: support for H1-H4 ranges ## Changes: ``` - [+] Added support for H1-H4 ranges - [!] Fixed interface fields order (H1-H4 goes before I1-I5) ``` ## Known issues: ``` - [!] no check for unique/overlap of H1-H4 values on settings apply: settings will be applied but wg interface will crash with "Invalid argument" error ``` * AmneziaWG 2.0: support for H1-H4 ranges ## Changes: ``` - [+] Added support for H1-H4 ranges - [!] Fixed interface fields order (H1-H4 goes before I1-I5) ``` ## Known issues: ``` - [!] no check for unique/overlap of H1-H4 values on settings apply: settings will be applied but wg interface will crash with "Invalid argument" error ``` * Update types.ts Lint fixes --------- Co-authored-by: CthulhuVRN <alexander@ptitsyn.info>
287 lines
17 KiB
JSON
287 lines
17 KiB
JSON
{
|
|
"pages": {
|
|
"me": "Аккаунт",
|
|
"clients": "Клиенты",
|
|
"admin": {
|
|
"panel": "Админ-панель",
|
|
"general": "Общие настройки",
|
|
"config": "Конфигурация",
|
|
"interface": "Интерфейс",
|
|
"hooks": "Хуки"
|
|
}
|
|
},
|
|
"user": {
|
|
"email": "E-Mail"
|
|
},
|
|
"me": {
|
|
"currentPassword": "Текущий пароль",
|
|
"enable2fa": "Включить двухфакторную аутентификацию",
|
|
"enable2faDesc": "Отсканируйте QR‑код с помощью приложения‑аутентификатора или введите ключ вручную.",
|
|
"2faKey": "Ключ TOTP",
|
|
"2faCodeDesc": "Введите код из приложения‑аутентификатора.",
|
|
"disable2fa": "Отключить двухфакторную аутентификацию",
|
|
"disable2faDesc": "Введите пароль, чтобы отключить двухфакторную аутентификацию."
|
|
},
|
|
"general": {
|
|
"name": "Имя",
|
|
"username": "Имя пользователя",
|
|
"password": "Пароль",
|
|
"newPassword": "Новый пароль",
|
|
"updatePassword": "Обновить пароль",
|
|
"mtu": "MTU",
|
|
"allowedIps": "Разрешённые IP‑адреса",
|
|
"dns": "DNS",
|
|
"persistentKeepalive": "Постоянное поддержание соединения",
|
|
"logout": "Выйти",
|
|
"continue": "Продолжить",
|
|
"host": "Хост",
|
|
"port": "Порт",
|
|
"yes": "Да",
|
|
"no": "Нет",
|
|
"confirmPassword": "Подтвердите пароль",
|
|
"loading": "Загрузка...",
|
|
"2fa": "Двухфакторная аутентификация",
|
|
"2faCode": "Код TOTP"
|
|
},
|
|
"setup": {
|
|
"welcome": "Добро пожаловать в первичную настройку wg-easy",
|
|
"welcomeDesc": "Вы нашли самый простой способ установить и управлять WireGuard на любом Linux‑хосте",
|
|
"existingSetup": "У вас уже есть существующая настройка?",
|
|
"createAdminDesc": "Сначала введите имя администратора и надёжный пароль. Эти данные будут использоваться для входа в Админ-панель.",
|
|
"setupConfigDesc": "Введите данные хоста и порта. Они будут использоваться для настройки клиента при установке WireGuard на устройствах.",
|
|
"setupMigrationDesc": "Укажите файл резервной копии, если хотите перенести данные из предыдущей версии wg-easy.",
|
|
"upload": "Загрузить",
|
|
"migration": "Восстановить из резервной копии:",
|
|
"createAccount": "Создать аккаунт",
|
|
"successful": "Настройка завершена успешно",
|
|
"hostDesc": "Публичное имя хоста, к которому будут подключаться клиенты",
|
|
"portDesc": "Публичный UDP‑порт, к которому будут подключаться клиенты и на котором будет слушать WireGuard"
|
|
},
|
|
"update": {
|
|
"updateAvailable": "Доступно обновление!",
|
|
"update": "Обновить"
|
|
},
|
|
"theme": {
|
|
"dark": "Тёмная тема",
|
|
"light": "Светлая тема",
|
|
"system": "Системная тема"
|
|
},
|
|
"layout": {
|
|
"toggleCharts": "Показать/скрыть графики",
|
|
"donate": "Поддержать"
|
|
},
|
|
"login": {
|
|
"signIn": "Войти",
|
|
"rememberMe": "Запомнить меня",
|
|
"rememberMeDesc": "Оставаться в системе после закрытия браузера",
|
|
"insecure": "Вы не можете войти по незащищённому соединению. Используйте HTTPS.",
|
|
"2faRequired": "Требуется двухфакторная аутентификация",
|
|
"2faWrong": "Неверный код двухфакторной аутентификации"
|
|
},
|
|
"client": {
|
|
"empty": "Клиентов пока нет.",
|
|
"newShort": "Новый",
|
|
"sort": "Сортировка",
|
|
"create": "Создать клиента",
|
|
"created": "Клиент создан",
|
|
"new": "Новый клиент",
|
|
"name": "Имя",
|
|
"expireDate": "Дата отключения",
|
|
"expireDateDesc": "Дата, когда клиент будет отключён. Оставьте пустым для бессрочного доступа",
|
|
"delete": "Удалить",
|
|
"deleteClient": "Удалить клиента",
|
|
"deleteDialog1": "Вы уверены, что хотите удалить",
|
|
"deleteDialog2": "Это действие нельзя отменить.",
|
|
"enabled": "Включён",
|
|
"address": "Адрес",
|
|
"serverAllowedIps": "Разрешённые IP‑адреса сервера",
|
|
"otlDesc": "Сгенерировать короткую одноразовую ссылку",
|
|
"permanent": "Бессрочный",
|
|
"createdOn": "Создан ",
|
|
"lastSeen": "Последнее подключение ",
|
|
"totalDownload": "Всего скачано: ",
|
|
"totalUpload": "Всего отправлено: ",
|
|
"newClient": "Новый клиент",
|
|
"disableClient": "Отключить клиента",
|
|
"enableClient": "Включить клиента",
|
|
"noPrivKey": "У этого клиента нет приватного ключа. Невозможно создать конфигурацию.",
|
|
"showQR": "Показать QR‑код",
|
|
"downloadConfig": "Скачать конфигурацию",
|
|
"allowedIpsDesc": "Какие IP‑адреса будут маршрутизироваться через VPN (переопределяет глобальную конфигурацию)",
|
|
"serverAllowedIpsDesc": "Какие IP‑адреса сервер будет отправлять клиенту",
|
|
"mtuDesc": "Максимальный размер пакета (MTU) для VPN‑туннеля",
|
|
"persistentKeepaliveDesc": "Устанавливает интервал (в секундах) для пакетов поддержания соединения. 0 — отключить",
|
|
"hooks": "Хуки",
|
|
"hooksDescription": "Хуки работают только с wg‑quick",
|
|
"hooksLeaveEmpty": "Только для wg‑quick. В остальных случаях оставьте пустым",
|
|
"dnsDesc": "DNS‑сервер, который будут использовать клиенты (переопределяет глобальную конфигурацию)",
|
|
"notConnected": "Клиент не подключен",
|
|
"endpoint": "Точка подключения",
|
|
"endpointDesc": "IP‑адрес клиента, с которого установлено соединение WireGuard",
|
|
"search": "Поиск клиентов...",
|
|
"config": "Конфигурация",
|
|
"viewConfig": "Просмотреть конфигурацию"
|
|
},
|
|
"dialog": {
|
|
"change": "Изменить",
|
|
"cancel": "Отменить",
|
|
"create": "Создать"
|
|
},
|
|
"toast": {
|
|
"success": "Успешно",
|
|
"saved": "Сохранено",
|
|
"error": "Ошибка"
|
|
},
|
|
"form": {
|
|
"actions": "Действия",
|
|
"save": "Сохранить",
|
|
"revert": "Отменить",
|
|
"sectionGeneral": "Общие",
|
|
"sectionAdvanced": "Расширенные",
|
|
"noItems": "Нет элементов",
|
|
"nullNoItems": "Нет элементов. Используется глобальная конфигурация",
|
|
"add": "Добавить"
|
|
},
|
|
"admin": {
|
|
"general": {
|
|
"sessionTimeout": "Время жизни сессии",
|
|
"sessionTimeoutDesc": "Длительность сессии для «Запомнить меня» (в секундах)",
|
|
"metrics": "Метрики",
|
|
"metricsPassword": "Пароль",
|
|
"metricsPasswordDesc": "Пароль Bearer для конечной точки метрик (пароль или хэш argon2)",
|
|
"json": "JSON",
|
|
"jsonDesc": "Путь для метрик в формате JSON",
|
|
"prometheus": "Prometheus",
|
|
"prometheusDesc": "Путь для метрик Prometheus"
|
|
},
|
|
"config": {
|
|
"connection": "Соединение",
|
|
"hostDesc": "Публичное имя хоста для подключения клиентов(обнуляет конфигурацию)",
|
|
"portDesc": "Публичный UDP‑порт для подключения клиентов (также рекомендуется изменить порт интерфейса)",
|
|
"allowedIpsDesc": "Разрешённые IP‑адреса для клиентов(глобальная конфигурация)",
|
|
"dnsDesc": "DNS‑сервер для клиентов (глобальная конфигурация)",
|
|
"mtuDesc": "MTU для клиентов (только для новых)",
|
|
"persistentKeepaliveDesc": "Интервал в секундах для отправки пакетов поддержания соединения на сервер. 0 = отключено (только для новых клиентов)",
|
|
"suggest": "Предложить",
|
|
"suggestDesc": "Выберите IP‑адрес или имя хоста для поля «Хост»"
|
|
},
|
|
"interface": {
|
|
"cidrSuccess": "CIDR изменён",
|
|
"device": "Устройство",
|
|
"deviceDesc": "Сетевое устройство Ethernet, через которое должен проходить трафик WireGuard",
|
|
"mtuDesc": "MTU, который будет использовать WireGuard",
|
|
"portDesc": "UDP‑порт, на котором будет слушать WireGuard (возможно, нужно также изменить порт конфигурации)",
|
|
"changeCidr": "Изменить CIDR",
|
|
"restart": "Перезапустить интерфейс",
|
|
"restartDesc": "Перезапустить интерфейс WireGuard",
|
|
"restartWarn": "Вы уверены, что хотите перезапустить интерфейс? Это приведёт к отключению всех клиентов.",
|
|
"restartSuccess": "Интерфейс перезапущен"
|
|
},
|
|
"introText": "Добро пожаловать в панель администратора.\n\nЗдесь вы можете управлять общими настройками, конфигурацией, настройками интерфейса и хуками.\n\nНачните с выбора одного из разделов на боковой панели."
|
|
},
|
|
"zod": {
|
|
"generic": {
|
|
"required": "{0} обязательно для заполнения",
|
|
"validNumber": "{0} должно быть числом",
|
|
"validString": "{0} должно быть строкой",
|
|
"validBoolean": "{0} должно быть логическим значением",
|
|
"validArray": "{0} должно быть массивом",
|
|
"stringMin": "{0} должно содержать не менее {1} символа",
|
|
"numberMin": "{0} должно быть не менее {1}"
|
|
},
|
|
"client": {
|
|
"id": "ID клиента",
|
|
"name": "Имя",
|
|
"expiresAt": "Дата окончания действия",
|
|
"address4": "IPv4‑адрес",
|
|
"address6": "IPv6‑адрес",
|
|
"serverAllowedIps": "Разрешённые IP‑адреса сервера"
|
|
},
|
|
"user": {
|
|
"username": "Имя пользователя",
|
|
"password": "Пароль",
|
|
"remember": "Запомнить",
|
|
"name": "Имя",
|
|
"email": "Электронная почта",
|
|
"emailInvalid": "Адрес электронной почты должен быть корректным",
|
|
"passwordMatch": "Пароли должны совпадать",
|
|
"totpEnable": "Включить TOTP",
|
|
"totpEnableTrue": "TOTP должен быть включён",
|
|
"totpCode": "Код TOTP"
|
|
},
|
|
"userConfig": {
|
|
"host": "Хост"
|
|
},
|
|
"general": {
|
|
"sessionTimeout": "Время жизни сессии",
|
|
"metricsEnabled": "Метрики",
|
|
"metricsPassword": "Пароль для метрик"
|
|
},
|
|
"interface": {
|
|
"cidr": "CIDR",
|
|
"device": "Устройство",
|
|
"cidrValid": "CIDR должен быть корректным"
|
|
},
|
|
"otl": "Одноразовая ссылка",
|
|
"stringMalformed": "Строка имеет неверный формат",
|
|
"body": "Тело должно быть корректным объектом",
|
|
"hook": "Хук",
|
|
"enabled": "Включено",
|
|
"mtu": "MTU",
|
|
"port": "Порт",
|
|
"persistentKeepalive": "Постоянное поддержание соединения",
|
|
"address": "IP‑адрес",
|
|
"dns": "DNS",
|
|
"allowedIps": "Разрешённые IP‑адреса",
|
|
"file": "Файл"
|
|
},
|
|
"hooks": {
|
|
"preUp": "PreUp",
|
|
"postUp": "PostUp",
|
|
"preDown": "PreDown",
|
|
"postDown": "PostDown"
|
|
},
|
|
"copy": {
|
|
"notSupported": "Копирование не поддерживается",
|
|
"copied": "Скопировано!",
|
|
"failed": "Ошибка копирования",
|
|
"copy": "Копировать"
|
|
},
|
|
"awg": {
|
|
"jCLabel": "Количество мусорных пакетов (Jc)",
|
|
"jCDescription": "Число мусорных пакетов для отправки (1-128, рекомендуется: 4-12)",
|
|
"jMinLabel": "Минимальный размер мусорных пакетов (Jmin)",
|
|
"jMinDescription": "Минимальный размер мусорных пакетов (0-1279*, рекомендуется: 8, должен быть < Jmax)",
|
|
"jMaxLabel": "Максимальный размер мусорных пакетов (Jmax)",
|
|
"jMaxDescription": "Максимальный размер мусорных пакетов (1-1280*, рекомендуется: 80, должен быть > Jmin)",
|
|
"s1Label": "Размер мусорных данных в init-пакете (S1)",
|
|
"s1Description": "Размер мусорных данных в init-пакете (0-1132[1280* - 148 = 1132], рекомендуется: 15-150, S1+56 ≠ S2)",
|
|
"s2Label": "Размер мусорных данных в ответном пакете (S2)",
|
|
"s2Description": "Размер мусорных данных в ответном пакете (0-1188[1280* - 92 = 1188], рекомендуется: 15-150)",
|
|
"s3Label": "Размер мусорных данных в cookie-reply пакете (S3)",
|
|
"s3Description": "Размер мусорных данных в cookie-reply пакете",
|
|
"s4Label": "Размер мусорных данных в транспортном пакете (S4)",
|
|
"s4Description": "Размер мусорных данных в транспортном пакете",
|
|
"h1Label": "Init magic заголовок (H1)",
|
|
"h1Description": "Значение заголовка init-пакета (5-2147483647, должно отличаться от H2-H4)",
|
|
"h2Label": "Response magic заголовок (H2)",
|
|
"h2Description": "Значение заголовка ответного пакета (5-2147483647, должно отличаться от H1, H3, H4)",
|
|
"h3Label": "Cookie reply magic заголовок (H3)",
|
|
"h3Description": "Значение заголовка cookie-reply пакета (5-2147483647, должно отличаться от H1, H2, H4)",
|
|
"h4Label": "Transport magic заголовок (H4)",
|
|
"h4Description": "Значение заголовка транспортного пакета (5-2147483647, должно отличаться от H1-H3)",
|
|
"i1Label": "Специальный мусорный пакет 1 (I1)",
|
|
"i1Description": "Пакет имитации протокола в hex формате: <b 0x...>",
|
|
"i2Label": "Специальный мусорный пакет 2 (I2)",
|
|
"i2Description": "Пакет имитации протокола в hex формате: <b 0x...>",
|
|
"i3Label": "Специальный мусорный пакет 3 (I3)",
|
|
"i3Description": "Пакет имитации протокола в hex формате: <b 0x...>",
|
|
"i4Label": "Специальный мусорный пакет 4 (I4)",
|
|
"i4Description": "Пакет имитации протокола в hex формате: <b 0x...>",
|
|
"i5Label": "Специальный мусорный пакет 5 (I5)",
|
|
"i5Description": "Пакет имитации протокола в hex формате: <b 0x...>",
|
|
"mtuNote": "Значения зависят от MTU",
|
|
"obfuscationParameters": "Параметры обфускации AmneziaWG"
|
|
}
|
|
}
|