diff --git a/messages/ru-RU.json b/messages/ru-RU.json
index 98a787f45..b44ec36ed 100644
--- a/messages/ru-RU.json
+++ b/messages/ru-RU.json
@@ -148,6 +148,11 @@
"createLink": "Создать ссылку",
"resourcesNotFound": "Ресурсы не найдены",
"resourceSearch": "Поиск ресурсов",
+ "machineSearch": "Поиск машин",
+ "machinesSearch": "Поиск клиентов машины...",
+ "machineNotFound": "Машины не найдены",
+ "userDeviceSearch": "Поиск устройств пользователя",
+ "userDevicesSearch": "Поиск устройств пользователя...",
"openMenu": "Открыть меню",
"resource": "Ресурс",
"title": "Заголовок",
@@ -323,6 +328,54 @@
"apiKeysDelete": "Удаление ключа API",
"apiKeysManage": "Управление ключами API",
"apiKeysDescription": "Ключи API используются для аутентификации в интеграционном API",
+ "provisioningKeysTitle": "Ключ подготовки",
+ "provisioningKeysManage": "Управление ключами подготовки",
+ "provisioningKeysDescription": "Ключи подготовки используются для аутентификации автоматического обеспечения сайта для вашей организации.",
+ "provisioningManage": "Подготовка",
+ "provisioningDescription": "Управляйте предоставленными ключами и проверять непроверенные сайты, ожидающие утверждения.",
+ "pendingSites": "Ожидающие сайты",
+ "siteApproveSuccess": "Сайт успешно утвержден",
+ "siteApproveError": "Ошибка при утверждении сайта",
+ "provisioningKeys": "Ключи подготовки",
+ "searchProvisioningKeys": "Поиск подготовительных ключей...",
+ "provisioningKeysAdd": "Сгенерировать ключ подготовки",
+ "provisioningKeysErrorDelete": "Ошибка при удалении подготовительного ключа",
+ "provisioningKeysErrorDeleteMessage": "Ошибка при удалении подготовительного ключа",
+ "provisioningKeysQuestionRemove": "Вы уверены, что хотите удалить этот ключ подготовки из организации?",
+ "provisioningKeysMessageRemove": "После удаления ключ больше не может быть использован для размещения сайта.",
+ "provisioningKeysDeleteConfirm": "Подтвердите удаление ключа подготовки",
+ "provisioningKeysDelete": "Удалить ключ подготовки",
+ "provisioningKeysCreate": "Сгенерировать ключ подготовки",
+ "provisioningKeysCreateDescription": "Создать новый подготовительный ключ для организации",
+ "provisioningKeysSeeAll": "Посмотреть все подготовительные ключи",
+ "provisioningKeysSave": "Сохранить ключ подготовки",
+ "provisioningKeysSaveDescription": "Вы сможете увидеть это только один раз. Скопируйте его в безопасное место.",
+ "provisioningKeysErrorCreate": "Ошибка при создании ключа подготовки",
+ "provisioningKeysList": "Новый подготовительный ключ",
+ "provisioningKeysMaxBatchSize": "Макс. размер партии",
+ "provisioningKeysUnlimitedBatchSize": "Неограниченный размер партии (без ограничений)",
+ "provisioningKeysMaxBatchUnlimited": "Неограниченный",
+ "provisioningKeysMaxBatchSizeInvalid": "Введите максимальный размер пакета (1–1,000,000).",
+ "provisioningKeysValidUntil": "Действителен до",
+ "provisioningKeysValidUntilHint": "Оставьте пустым для отсутствия срока действия.",
+ "provisioningKeysValidUntilInvalid": "Введите правильную дату и время.",
+ "provisioningKeysNumUsed": "Использовано раз",
+ "provisioningKeysLastUsed": "Последнее использованное",
+ "provisioningKeysNoExpiry": "Без истечения срока",
+ "provisioningKeysNeverUsed": "Никогда",
+ "provisioningKeysEdit": "Редактировать ключ подготовки",
+ "provisioningKeysEditDescription": "Обновить максимальный размер и срок действия этого ключа.",
+ "provisioningKeysApproveNewSites": "Одобрить новые сайты",
+ "provisioningKeysApproveNewSitesDescription": "Автоматически одобрять сайты, регистрирующиеся с этим ключом.",
+ "provisioningKeysUpdateError": "Ошибка при обновлении ключа подготовки",
+ "provisioningKeysUpdated": "Ключ подготовки обновлен",
+ "provisioningKeysUpdatedDescription": "Ваши изменения были сохранены.",
+ "provisioningKeysBannerTitle": "Ключи подготовки сайта",
+ "provisioningKeysBannerDescription": "Генерировать подготовительный ключ и использовать его вместе с Новым коннектором для автоматического создания сайтов при первом запуске — нет необходимости настраивать отдельные учетные данные для каждого сайта.",
+ "provisioningKeysBannerButtonText": "Узнать больше",
+ "pendingSitesBannerTitle": "Ожидающие сайты",
+ "pendingSitesBannerDescription": "Сайты, связанные с использованием ключа подготовки, появляются здесь для проверки. Одобрите каждый сайт, прежде чем он станет активным и получит доступ к вашим ресурсам.",
+ "pendingSitesBannerButtonText": "Узнать больше",
"apiKeysSettings": "Настройки {apiKeyName}",
"userTitle": "Управление всеми пользователями",
"userDescription": "Просмотр и управление всеми пользователями в системе",
@@ -509,9 +562,12 @@
"userSaved": "Пользователь сохранён",
"userSavedDescription": "Пользователь был обновлён.",
"autoProvisioned": "Автоподбор",
+ "autoProvisionSettings": "Настройки автоматического обеспечения",
"autoProvisionedDescription": "Разрешить автоматическое управление этим пользователем",
"accessControlsDescription": "Управляйте тем, к чему этот пользователь может получить доступ и что делать в организации",
"accessControlsSubmit": "Сохранить контроль доступа",
+ "singleRolePerUserPlanNotice": "Ваш план поддерживает только одну роль каждого пользователя.",
+ "singleRolePerUserEditionNotice": "Эта редакция поддерживает только одну роль для каждого пользователя.",
"roles": "Роли",
"accessUsersRoles": "Управление пользователями и ролями",
"accessUsersRolesDescription": "Пригласить пользователей и добавить их в роли для управления доступом к организации",
@@ -1119,6 +1175,7 @@
"setupTokenDescription": "Введите токен настройки из консоли сервера.",
"setupTokenRequired": "Токен настройки обязателен",
"actionUpdateSite": "Обновить сайт",
+ "actionResetSiteBandwidth": "Сброс пропускной способности организации",
"actionListSiteRoles": "Список разрешенных ролей сайта",
"actionCreateResource": "Создать ресурс",
"actionDeleteResource": "Удалить ресурс",
@@ -1148,7 +1205,7 @@
"actionRemoveUser": "Удалить пользователя",
"actionListUsers": "Список пользователей",
"actionAddUserRole": "Добавить роль пользователя",
- "actionSetUserOrgRoles": "Set User Roles",
+ "actionSetUserOrgRoles": "Установка ролей пользователей",
"actionGenerateAccessToken": "Сгенерировать токен доступа",
"actionDeleteAccessToken": "Удалить токен доступа",
"actionListAccessTokens": "Список токенов доступа",
@@ -1265,6 +1322,7 @@
"sidebarRoles": "Роли",
"sidebarShareableLinks": "Ссылки",
"sidebarApiKeys": "API ключи",
+ "sidebarProvisioning": "Подготовка",
"sidebarSettings": "Настройки",
"sidebarAllUsers": "Все пользователи",
"sidebarIdentityProviders": "Поставщики удостоверений",
@@ -1972,6 +2030,25 @@
"invalidValue": "Неверное значение",
"idpTypeLabel": "Тип поставщика удостоверений",
"roleMappingExpressionPlaceholder": "например, contains(groups, 'admin') && 'Admin' || 'Member'",
+ "roleMappingModeFixedRoles": "Фиксированные роли",
+ "roleMappingModeMappingBuilder": "Сопоставляющий конструктор",
+ "roleMappingModeRawExpression": "Сырое выражение",
+ "roleMappingFixedRolesPlaceholderSelect": "Выберите одну или несколько ролей",
+ "roleMappingFixedRolesPlaceholderFreeform": "Тип имен ролей (точное совпадение по организации)",
+ "roleMappingFixedRolesDescriptionSameForAll": "Назначить одну и ту же роль, которая установлена каждому автообеспеченному пользователю.",
+ "roleMappingFixedRolesDescriptionDefaultPolicy": "Для политик по умолчанию, введите имена ролей, которые существуют в каждой организации, где пользователи предоставлены. Имена должны соответствовать точно.",
+ "roleMappingClaimPath": "Путь к заявлению",
+ "roleMappingClaimPathPlaceholder": "группы",
+ "roleMappingClaimPathDescription": "Путь в полезной нагрузке токенов, который содержит исходные значения (например, группы).",
+ "roleMappingMatchValue": "Значение матча",
+ "roleMappingAssignRoles": "Назначить роли",
+ "roleMappingAddMappingRule": "Добавить правило сопоставления",
+ "roleMappingRawExpressionResultDescription": "Выражение должно быть оценено к строке или строковому массиву.",
+ "roleMappingRawExpressionResultDescriptionSingleRole": "Выражение должно быть оценено строке (название одной роли).",
+ "roleMappingMatchValuePlaceholder": "Значение совпадения (например: admin)",
+ "roleMappingAssignRolesPlaceholderFreeform": "Введите имена ролей (точное по организациям)",
+ "roleMappingBuilderFreeformRowHint": "Имена ролей должны соответствовать роли в каждой целевой организации.",
+ "roleMappingRemoveRule": "Удалить",
"idpGoogleConfiguration": "Конфигурация Google",
"idpGoogleConfigurationDescription": "Настройка учетных данных Google OAuth2",
"idpGoogleClientIdDescription": "Google OAuth2 Client ID",
@@ -2368,6 +2445,8 @@
"logRetentionAccessDescription": "Как долго сохранять журналы доступа",
"logRetentionActionLabel": "Сохранение журнала действий",
"logRetentionActionDescription": "Как долго хранить журналы действий",
+ "logRetentionConnectionLabel": "Сохранение журнала подключений",
+ "logRetentionConnectionDescription": "Как долго хранить журналы подключений",
"logRetentionDisabled": "Отключено",
"logRetention3Days": "3 дня",
"logRetention7Days": "7 дней",
@@ -2378,6 +2457,13 @@
"logRetentionEndOfFollowingYear": "Конец следующего года",
"actionLogsDescription": "Просмотр истории действий, выполненных в этой организации",
"accessLogsDescription": "Просмотр запросов авторизации доступа к ресурсам этой организации",
+ "connectionLogs": "Журнал подключений",
+ "connectionLogsDescription": "Просмотр журналов подключения туннелей в этой организации",
+ "sidebarLogsConnection": "Журнал подключений",
+ "sidebarLogsStreaming": "Вещание",
+ "sourceAddress": "Адрес источника",
+ "destinationAddress": "Адрес назначения",
+ "duration": "Продолжительность",
"licenseRequiredToUse": "Требуется лицензия на Enterprise Edition или Pangolin Cloud для использования этой функции. Забронируйте демонстрацию или пробный POC.",
"ossEnterpriseEditionRequired": "Enterprise Edition требуется для использования этой функции. Эта функция также доступна в Pangolin Cloud. Забронируйте демонстрацию или пробный POC.",
"certResolver": "Резольвер сертификата",
@@ -2717,5 +2803,90 @@
"approvalsEmptyStateStep2Description": "Редактировать роль и включить опцию 'Требовать утверждения устройств'. Пользователям с этой ролью потребуется подтверждение администратора для новых устройств.",
"approvalsEmptyStatePreviewDescription": "Предпросмотр: Если включено, ожидающие запросы на устройство появятся здесь для проверки",
"approvalsEmptyStateButtonText": "Управление ролями",
- "domainErrorTitle": "У нас возникли проблемы с проверкой вашего домена"
+ "domainErrorTitle": "У нас возникли проблемы с проверкой вашего домена",
+ "idpAdminAutoProvisionPoliciesTabHint": "Настройте сопоставление ролей и организационные политики на вкладке Настройки авто-предоставления.",
+ "streamingTitle": "Поток событий",
+ "streamingDescription": "Трансляция событий от вашей организации к внешним направлениям в режиме реального времени.",
+ "streamingUnnamedDestination": "Место назначения без имени",
+ "streamingNoUrlConfigured": "URL-адрес не настроен",
+ "streamingAddDestination": "Добавить место назначения",
+ "streamingHttpWebhookTitle": "HTTP вебхук",
+ "streamingHttpWebhookDescription": "Отправлять события на любую конечную точку HTTP с гибкой аутентификацией и шаблоном.",
+ "streamingS3Title": "Amazon S3",
+ "streamingS3Description": "Потоковая передача событий к пакету хранения объектов, совместимому с S3.",
+ "streamingDatadogTitle": "Datadog",
+ "streamingDatadogDescription": "Перенаправлять события непосредственно на ваш аккаунт в Datadog. Скоро будет доступно.",
+ "streamingTypePickerDescription": "Выберите тип назначения, чтобы начать.",
+ "streamingFailedToLoad": "Не удалось загрузить места назначения",
+ "streamingUnexpectedError": "Произошла непредвиденная ошибка.",
+ "streamingFailedToUpdate": "Не удалось обновить место назначения",
+ "streamingDeletedSuccess": "Адрес назначения успешно удален",
+ "streamingFailedToDelete": "Не удалось удалить место назначения",
+ "streamingDeleteTitle": "Удалить адрес назначения",
+ "streamingDeleteButtonText": "Удалить адрес назначения",
+ "streamingDeleteDialogAreYouSure": "Вы уверены, что хотите удалить",
+ "streamingDeleteDialogThisDestination": "это место назначения",
+ "streamingDeleteDialogPermanentlyRemoved": "? Все настройки будут удалены навсегда.",
+ "httpDestEditTitle": "Изменить адрес назначения",
+ "httpDestAddTitle": "Добавить HTTP адрес",
+ "httpDestEditDescription": "Обновление конфигурации для этого HTTP события потокового назначения.",
+ "httpDestAddDescription": "Настройте новую HTTP-конечную точку для получения событий вашей организации.",
+ "httpDestTabSettings": "Настройки",
+ "httpDestTabHeaders": "Заголовки",
+ "httpDestTabBody": "Тело",
+ "httpDestTabLogs": "Логи",
+ "httpDestNamePlaceholder": "Мой HTTP адрес назначения",
+ "httpDestUrlLabel": "URL назначения",
+ "httpDestUrlErrorHttpRequired": "URL должен использовать http или https",
+ "httpDestUrlErrorHttpsRequired": "Требуется HTTPS при развертывании облака",
+ "httpDestUrlErrorInvalid": "Введите действительный URL (например, https://example.com/webhook)",
+ "httpDestAuthTitle": "Аутентификация",
+ "httpDestAuthDescription": "Выберите, как запросы к вашей конечной точке аутентифицированы.",
+ "httpDestAuthNoneTitle": "Нет аутентификации",
+ "httpDestAuthNoneDescription": "Отправляет запросы без заголовка авторизации.",
+ "httpDestAuthBearerTitle": "Жетон носителя",
+ "httpDestAuthBearerDescription": "Добавляет заголовок Authorization: Bearer к каждому запросу.",
+ "httpDestAuthBearerPlaceholder": "Ваш ключ API или токен",
+ "httpDestAuthBasicTitle": "Базовая авторизация",
+ "httpDestAuthBasicDescription": "Добавляет Authorization: Basic header. Предоставьте учетные данные в качестве имени пользователя:password.",
+ "httpDestAuthBasicPlaceholder": "имя пользователя:пароль",
+ "httpDestAuthCustomTitle": "Пользовательский заголовок",
+ "httpDestAuthCustomDescription": "Укажите пользовательское имя заголовка HTTP и значение для аутентификации (например, X-API-Key).",
+ "httpDestAuthCustomHeaderNamePlaceholder": "Имя заголовка (например, X-API-ключ)",
+ "httpDestAuthCustomHeaderValuePlaceholder": "Значение заголовка",
+ "httpDestCustomHeadersTitle": "Пользовательские HTTP-заголовки",
+ "httpDestCustomHeadersDescription": "Добавляет пользовательские заголовки к каждому исходящему запросу. Полезно для статических маркеров или пользовательского типа содержимого. По умолчанию отправляется Content-Type: application/json.",
+ "httpDestNoHeadersConfigured": "Пользовательские заголовки не настроены. Нажмите \"Добавить заголовок\", чтобы добавить их.",
+ "httpDestHeaderNamePlaceholder": "Название заголовка",
+ "httpDestHeaderValuePlaceholder": "Значение",
+ "httpDestAddHeader": "Добавить заголовок",
+ "httpDestBodyTemplateTitle": "Пользовательский шаблон тела",
+ "httpDestBodyTemplateDescription": "Контролируйте структуру JSON приложения, отправленную на вашу конечную точку. Если отключено, для каждого события отправляется JSON объект по умолчанию.",
+ "httpDestEnableBodyTemplate": "Включить настраиваемый шаблон тела",
+ "httpDestBodyTemplateLabel": "Шаблон тела (JSON)",
+ "httpDestBodyTemplateHint": "Использовать шаблонные переменные для ссылки поля событий в вашей полезной нагрузке.",
+ "httpDestPayloadFormatTitle": "Формат нагрузки",
+ "httpDestPayloadFormatDescription": "Как события сериализуются в каждый орган запроса.",
+ "httpDestFormatJsonArrayTitle": "JSON массив",
+ "httpDestFormatJsonArrayDescription": "По одному запросу на каждую партию, тело является JSON-массивом. Совместим с большинством общих вебхуков и Датадог.",
+ "httpDestFormatNdjsonTitle": "NDJSON",
+ "httpDestFormatNdjsonDescription": "По одному запросу на каждую партию, тело - это JSON, разделённый новой строкой, по одному объекту на строку, без внешнего массива. Требуется в Splunk HEC, Elastic / OpenSearch, и Grafana Loki.",
+ "httpDestFormatSingleTitle": "Одно событие на запрос",
+ "httpDestFormatSingleDescription": "Отправляет отдельный HTTP POST для каждого отдельного события. Используйте только для конечных точек, которые не могут обрабатывать пакеты.",
+ "httpDestLogTypesTitle": "Типы журналов",
+ "httpDestLogTypesDescription": "Выберите, какие типы журналов пересылаются в этот пункт назначения. Только включенные типы журналов будут транслированы.",
+ "httpDestAccessLogsTitle": "Журналы доступа",
+ "httpDestAccessLogsDescription": "Попытки доступа к ресурсам, включая аутентифицированные и отклоненные запросы.",
+ "httpDestActionLogsTitle": "Журнал действий",
+ "httpDestActionLogsDescription": "Административные меры, осуществляемые пользователями в рамках организации.",
+ "httpDestConnectionLogsTitle": "Журнал подключений",
+ "httpDestConnectionLogsDescription": "События связи с сайтами и туннелями, включая соединения и отключения.",
+ "httpDestRequestLogsTitle": "Запросить журналы",
+ "httpDestRequestLogsDescription": "Журналы запросов HTTP для проксируемых ресурсов, включая метод, путь и код ответа.",
+ "httpDestSaveChanges": "Сохранить изменения",
+ "httpDestCreateDestination": "Создать адрес назначения",
+ "httpDestUpdatedSuccess": "Адрес назначения успешно обновлен",
+ "httpDestCreatedSuccess": "Адрес назначения успешно создан",
+ "httpDestUpdateFailed": "Не удалось обновить место назначения",
+ "httpDestCreateFailed": "Не удалось создать место назначения"
}