diff --git a/messages/ru-RU.json b/messages/ru-RU.json
index 423778ccf..5526cbf87 100644
--- a/messages/ru-RU.json
+++ b/messages/ru-RU.json
@@ -26,7 +26,7 @@
"trialBannerMessage": "Ваш пробный период истекает через {countdown}. Обновите, чтобы сохранить доступ.",
"trialBannerExpired": "Ваш пробный период истек. Обновите сейчас, чтобы восстановить доступ.",
"billingTrialBannerTitle": "Бесплатная версия активна",
- "billingTrialBannerDescription": "Вы в настоящее время находитесь на бесплатном пробном периоде бизнес-уровня. Когда пробный период закончится, ваш аккаунт автоматически вернётся к функциям и лимитам базового уровня. Обновите в любое время, чтобы сохранить доступ к функциям текущего плана.",
+ "billingTrialBannerDescription": "Вы в настоящее время находитесь на бесплатном пробном уровне {tier}. Когда пробный период закончится, ваш аккаунт автоматически вернётся к функциям и лимитам базового уровня. Обновите в любое время, чтобы сохранить доступ к функциям текущего плана.",
"billingTrialBannerUpgrade": "Обновить сейчас",
"billingTrialBadge": "Бесплатная версия",
"trialActive": "Бесплатный пробный период активен",
@@ -132,7 +132,7 @@
"siteRestartDialogMessage": "Вы уверены, что хотите перезапустить туннель WireGuard для {name}? Сайт кратковременно потеряет соединение.",
"siteRestartWarning": "Сайт кратковременно отключится во время перезапуска туннеля.",
"siteRestarted": "Сайт перезапущен",
- "siteRestartedDescription": "Туннель WireGuard был перезапущен.",
+ "siteRestartedDescription": "Сайт был перезапущен.",
"siteErrorRestart": "Не удалось перезапустить сайт",
"siteErrorRestartDescription": "Произошла ошибка во время перезапуска сайта.",
"siteSettingDescription": "Настройка параметров на сайте",
@@ -234,6 +234,9 @@
"clientResourceDescription": "Создание и управление ресурсами, которые доступны только через подключенный клиент",
"privateResourcesBannerTitle": "Частный доступ с нулевым доверием",
"privateResourcesBannerDescription": "Частные ресурсы используют безопасность с нулевым доверием, обеспечивая доступ пользователей и устройств только к ресурсам, к которым вы явно предоставили доступ. Подключите пользовательские устройства или машинных клиентов, чтобы получить доступ к этим ресурсам через безопасную виртуальную частную сеть.",
+ "licenseBillingBannerTitle": "Управление выставлением счетов по лицензии",
+ "licenseBillingBannerDescription": "Чтобы управлять выставлением счетов для ваших лицензионных ключей, включая методы оплаты и счета, посетите страницу выставления счетов. Вы можете создать дополнительные лицензии ниже, чтобы увеличить ёмкость сервера или развернуть больше экземпляров.",
+ "licenseBillingBannerButton": "Перейти к оплате",
"resourcesSearch": "Поиск ресурсов...",
"resourceAdd": "Добавить ресурс",
"resourceErrorDelte": "Ошибка при удалении ресурса",
@@ -304,6 +307,8 @@
"privateResourceTypeCidrDescription": "Опубликуйте диапазон CIDR в сети сайта для подключенных клиентов",
"privateResourceTypeHttpDescription": "Доступ к сервису HTTP или HTTPS через домен",
"privateResourceTypeSshDescription": "Доступ к серверу SSH от подключенных клиентов",
+ "privateResourceTypeGatewayDescription": "Отправлять весь интернет-трафик через сетевую структуру сайтов.",
+ "resourceTypeGatewayDescription": "Отправлять весь интернет-трафик через сетевую структуру сайтов.",
"resourceDomainDescription": "Ресурс будет предоставлен по этому полностью определенному доменному имени.",
"resourceHTTPSSettings": "Настройки HTTPS",
"resourceHTTPSSettingsDescription": "Настройка доступа к ресурсу по HTTPS",
@@ -555,6 +560,10 @@
"licenseBannerDescription": "Откройте доступ к корпоративным функциям для вашей локально размещаемой версии Pangolin. Приобретите лицензионный ключ, чтобы активировать премиум-функции, затем добавьте его ниже.",
"licenseBannerGetLicense": "Получить лицензию",
"licenseBannerViewDocs": "Посмотреть документацию",
+ "licenseUpgradeBannerTitle": "Нужна большая ёмкость?",
+ "licenseUpgradeBannerDescription": "Если вам нужно увеличить ёмкость для сайта или пользователей, вы можете купить дополнительные лицензии на портале app.pangolin.net и добавить их ниже для обновления вашего экземпляра.",
+ "licenseUpgradeBannerButton": "Купить больше лицензий",
+ "licenseMultipleKeysDescription": "На этом сервере активировано несколько лицензий. Используется самый высокий уровень.",
"communityEdition": "Издание для сообщества",
"licenseAboutDescription": "Это для бизнес и корпоративных пользователей, использующих Pangolin в коммерческой среде. Если вы используете Pangolin для личного использования, вы можете игнорировать этот раздел.",
"licenseKeyActivated": "Лицензионный ключ активирован",
@@ -573,10 +582,10 @@
"licenseQuestionRemove": "Вы уверены, что хотите удалить лицензионный ключ?",
"licenseKeyDelete": "Удалить лицензионный ключ",
"licenseKeyDeleteConfirm": "Подтвердить удаление лицензионного ключа",
- "licenseTitle": "Управление статусом лицензии",
+ "licenseTitle": "Управление лицензиями",
"licenseTitleDescription": "Просмотр и управление лицензионными ключами в системе",
- "licenseHost": "Лицензия хоста",
- "licenseHostDescription": "Управление основным лицензионным ключом для хоста.",
+ "licenseHost": "Лицензия",
+ "licenseHostDescription": "Просмотр уровня лицензии и информации о хосте",
"licensedNot": "Не лицензировано",
"hostId": "ID хоста",
"licenseReckeckAll": "Перепроверить все ключи",
@@ -586,7 +595,16 @@
"licensePurchase": "Приобрести лицензию",
"licensePurchaseSites": "Приобрести дополнительные сайты",
"licenseSitesUsedMax": "Использовано сайтов: {usedSites} из {maxSites}",
- "licenseSitesUsed": "{count, plural, =0 {0 сайтов} one {# сайт} few {# сайта} many {# сайтов} other {# сайтов}} в системе.",
+ "licenseSitesUsed": "{count, plural, =0 {# сайтов} one {# сайт} few {# сайта} many {# сайтов} other {# сайтов}}",
+ "licenseUsage": "Использование",
+ "licenseUsageDescription": "Просмотр количества пользователей и сайтов, лицензированных для этого хоста",
+ "licenseUsageSites": "Сайты",
+ "licenseUsageUsers": "Пользователи",
+ "licenseNoUserLimit": "Нет ограничения на количество пользователей, использующих нелицензированный хост",
+ "licenseUsersUsedMax": "{usedUsers} из {maxUsers} пользователей использовано",
+ "licenseUsersUsed": "{count, plural, =0 {# пользователей} one {# пользователь} few {# пользователя} many {# пользователей} other {# пользователей}}",
+ "licenseUnlimited": "Неограниченный",
+ "licenseTierLabel": "Уровень",
"licensePurchaseDescription": "Выберите, для скольких сайтов вы хотите {selectedMode, select, license {приобрести лицензию. Вы всегда можете добавить больше сайтов позже.} other {добавить к существующей лицензии.}}",
"licenseFee": "Лицензионный сбор",
"licensePriceSite": "Цена за сайт",
@@ -831,7 +849,7 @@
"rulesErrorDuplicatePriorityDescription": "Каждое правило должно иметь уникальный номер приоритета.",
"rulesErrorValidation": "Неверные правила",
"rulesErrorValidationRuleDescription": "Правило {ruleNumber}: {message}",
- "rulesErrorInvalidMatchTypeDescription": "Выберите действительный тип совпадения (путь, IP, CIDR, страна, регион или ASN).",
+ "rulesErrorInvalidMatchTypeDescription": "Выберите действительный тип совпадения (путь, IP, CIDR, страна, регион, ASN, или метод).",
"rulesErrorValueRequired": "Введите значение для этого правила.",
"rulesErrorInvalidCountry": "Недействительная страна",
"rulesErrorInvalidCountryDescription": "Выберите правильную страну.",
@@ -2827,9 +2845,9 @@
"expectedResponseCodes": "Ожидаемые коды ответов",
"expectedResponseCodesDescription": "HTTP-код состояния, указывающий на здоровое состояние. Если оставить пустым, 200-300 считается здоровым.",
"customRequestHeaders": "Пользовательские заголовки запроса",
- "customRequestHeadersDescription": "Заголовки запроса, отправляемые целевым серверам. По одному в строке: Имя-Заголовка: значение",
+ "customRequestHeadersDescription": "Заголовки запроса, отправляемые на конечные цели. Один на строку: Название-Заголовка: значение",
"customResponseHeaders": "Пользовательские заголовки ответа",
- "customResponseHeadersDescription": "Заголовки ответа, возвращаемые клиенту. По одному в строке: Имя-Заголовка: значение",
+ "customResponseHeadersDescription": "Заголовки ответа, отправляемые обратно клиенту. Один на строку: Название-Заголовка: значение",
"headersValidationError": "Заголовки должны быть в формате: Название заголовка: значение.",
"saveHealthCheck": "Сохранить проверку здоровья",
"healthCheckSaved": "Проверка здоровья сохранена",
@@ -2911,6 +2929,7 @@
"editInternalResourceDialogModePort": "Порт",
"editInternalResourceDialogModeHost": "Хост",
"editInternalResourceDialogModeCidr": "СИДР",
+ "editInternalResourceDialogModeGateway": "Узел выхода",
"editInternalResourceDialogModeHttp": "HTTP",
"editInternalResourceDialogModeHttps": "HTTPS",
"editInternalResourceDialogModeInference": "AI Шлюз",
@@ -2922,6 +2941,7 @@
"editInternalResourceDialogDestinationHostDescription": "IP адрес или имя хоста ресурса в сети сайта.",
"editInternalResourceDialogDestinationIPDescription": "IP или адрес хоста ресурса в сети сайта.",
"editInternalResourceDialogDestinationCidrDescription": "Диапазон CIDR ресурса в сети сайта.",
+ "editInternalResourceDialogDestinationGatewayDescription": "Сайты, используемые в качестве узлов выхода для этого ресурса",
"editInternalResourceDialogAlias": "Псевдоним",
"editInternalResourceDialogAliasDescription": "Дополнительный внутренний DNS псевдоним для этого ресурса.",
"createInternalResourceDialogNoSitesAvailable": "Нет доступных сайтов",
@@ -2936,6 +2956,7 @@
"privateResourceNetworkAccessDescription": "Управляйте доступом к портам TCP/UDP и настройте разрешение ICMP ping для данного ресурса.",
"hostSettings": "Хост",
"cidrSettings": "СИДР",
+ "gatewaySettings": "Узел выхода",
"createInternalResourceDialogResourceProperties": "Свойства ресурса",
"createInternalResourceDialogName": "Имя",
"createInternalResourceDialogSite": "Сайт",
@@ -2974,6 +2995,7 @@
"createInternalResourceDialogModeHttps": "HTTPS",
"createInternalResourceDialogModeSsh": "SSH",
"createInternalResourceDialogModeInference": "AI Шлюз",
+ "createInternalResourceDialogModeGateway": "Узел выхода",
"scheme": "Схема",
"createInternalResourceDialogScheme": "Схема",
"createInternalResourceDialogEnableSsl": "Включить TLS",
@@ -3278,10 +3300,10 @@
"orgAuthRememberOrgId": "Запомнить этот ID организации",
"orgAuthBackToSignIn": "Вернуться к стандартному входу",
"orgAuthNoAccount": "Нет учётной записи?",
- "subscriptionRequiredToUse": "Для использования этой функции требуется подписка.",
- "mustUpgradeToUse": "Вы должны обновить подписку, чтобы использовать эту функцию.",
+ "subscriptionRequiredToUse": "Для использования этой функции требуется подписка. Записаться на демо",
+ "mustUpgradeToUse": "Вы должны обновить подписку, чтобы использовать эту функцию. Записаться на демо",
"subscriptionRequiredTierToUse": "Эта функция требует {tier} или выше.",
- "upgradeToTierToUse": "Обновитесь до {tier} или выше, чтобы использовать эту функцию.",
+ "upgradeToTierToUse": "Обновитесь до {tier}, чтобы использовать эту функцию. Записаться на демо",
"subscriptionTierTier1": "Главная",
"subscriptionTierTier2": "Команда",
"subscriptionTierTier3": "Бизнес",
@@ -3651,8 +3673,8 @@
"sourceAddress": "Адрес источника",
"destinationAddress": "Адрес назначения",
"duration": "Продолжительность",
- "licenseRequiredToUse": "Лицензия Enterprise Edition требуется. Записаться на демо или пробную версию",
- "ossEnterpriseEditionRequired": "Лицензия Enterprise Edition требуется. Записаться на демо или пробную версию",
+ "licenseRequiredToUse": "Лицензия Enterprise Edition требуется. Записаться на демо",
+ "ossEnterpriseEditionRequired": "Лицензия Enterprise Edition требуется. Записаться на демо",
"certResolver": "Резольвер сертификата",
"certResolverDescription": "Выберите резолвер сертификата, который будет использоваться для этого ресурса.",
"selectCertResolver": "Выберите резолвер сертификата",
@@ -3719,6 +3741,7 @@
"deviceCodeVerifying": "Проверка авторизации устройства...",
"signedInAs": "Вы вошли как",
"deviceCodeEnterPrompt": "Введите код, отображаемый на устройстве",
+ "deviceCodeConfirmPrompt": "Подтвердите, что это совпадает с кодом на вашем устройстве",
"continue": "Продолжить",
"deviceUnknownLocation": "Неизвестное местоположение",
"deviceAuthorizationRequested": "Эта авторизация была запрошена у {location} на {date}. Убедитесь, что вы доверяете этому устройству, так как оно получит доступ к учетной записи.",
@@ -4291,9 +4314,12 @@
"resourceLauncherAuthMethodsDescription": "Методы аутентификации, включенные для этого ресурса.",
"resourceLauncherPrivateClientRequired": "Подключитесь с клиентом на устройстве для доступа к этому ресурсу в частном порядке.",
"resourceLauncherPrivateClientRequiredTitle": "Требуется подключение клиента",
+ "resourceLauncherExitNodeTitle": "Маршрутизация узла выхода",
+ "resourceLauncherExitNodeDescription": "После подключения клиента выберите этот узел выхода в меню клиента, чтобы направить весь трафик через подключенные сайты.",
"resourceLauncherDownloadClient": "Скачать клиент",
"resourceLauncherFailedToLoadDetails": "Не удалось загрузить детали ресурса. Возможно, у вас больше нет доступа к этому ресурсу.",
"resourceLauncherNoPortRestrictions": "Нет ограничений портов",
+ "resourceLauncherAllInternetTraffic": "Весь интернет-трафик",
"resourceLauncherTcp": "TCP",
"resourceLauncherUdp": "UDP",
"resourceLauncherUnlabeled": "Без меток",
@@ -4399,5 +4425,8 @@
"sessionToolbarShow": "Показать панель инструментов",
"sessionToolbarHide": "Скрыть панель инструментов",
"actionUpdateSiteApprovals": "Обновить утверждения сайта",
- "check": "Проверить"
+ "check": "Проверить",
+ "rulesErrorInvalidMethod": "Недопустимый HTTP метод",
+ "rulesErrorInvalidMethodDescription": "Выберите как минимум один HTTP метод.",
+ "rulesSelectMethods": "Выберите методы"
}