diff --git a/messages/ru-RU.json b/messages/ru-RU.json
index 287e61497..1ffb2f391 100644
--- a/messages/ru-RU.json
+++ b/messages/ru-RU.json
@@ -178,7 +178,7 @@
"shareDeleteConfirm": "Подтвердить удаление общей ссылки",
"shareQuestionRemove": "Вы уверены, что хотите удалить эту общую ссылку?",
"shareMessageRemove": "После удаления ссылка перестанет работать, и все, кто ее использует, потеряют доступ к ресурсу.",
- "shareTokenDescription": "Токен доступа может быть передан двумя способами: как параметр запроса или в заголовках запроса. Они должны быть переданы от клиента по каждому запросу для аутентифицированного доступа.",
+ "shareTokenDescription": "Токен доступа может быть передан в виде параметра запроса или в заголовках запроса. По умолчанию, он должен отправляться при каждом запросе. Если включена устойчивость сеанса, первый запрос обменяет его на сеансовый файл cookie.",
"accessToken": "Токен доступа",
"usageExamples": "Примеры использования",
"tokenId": "ID токена",
@@ -196,8 +196,14 @@
"shareTitleOptional": "Заголовок (необязательно)",
"sharePathOptional": "Путь (необязательно)",
"sharePathDescription": "Ссылка перенаправит пользователей на этот путь после аутентификации.",
+ "shareAssociateUserOptional": "Связать пользователя (необязательно)",
+ "shareAssociateUserDescription": "При установке, запросы с этой ссылкой записываются за пользователем в журналах доступа и заголовках идентификации. Ссылка удаляется, если пользователь покидает организацию.",
+ "userSelect": "Выберите пользователя",
+ "usersNotFound": "Пользователи не найдены",
"expireIn": "Срок действия",
"neverExpire": "Бессрочный доступ",
+ "sharePersistSession": "Сохранять сеанс после первого использования",
+ "sharePersistSessionDescription": "При включении, первый запрос с этим токеном через параметр запроса или заголовок устанавливает сеансовый файл cookie, так что последующие запросы не требуют токена. Оставьте для API-клиентов, которые должны отправлять токен при каждом запросе.",
"shareExpireDescription": "Срок действия - это период, в течение которого ссылка будет работать и предоставлять доступ к ресурсу. После этого времени ссылка перестанет работать, и пользователи, использовавшие эту ссылку, потеряют доступ к ресурсу.",
"shareSeeOnce": "Вы сможете увидеть эту ссылку только один раз. Обязательно скопируйте ее.",
"shareAccessHint": "Любой, у кого есть эта ссылка, может получить доступ к ресурсу. Делитесь ею с осторожностью.",
@@ -928,7 +934,7 @@
"newtVersion": "Версия",
"architecture": "Архитектура",
"sites": "Сайты",
- "siteWgAnyClients": "Для подключения используйте любой клиент WireGuard. Вы должны будете адресовать внутренние ресурсы, используя IP адрес пира.",
+ "siteWgAnyClients": "Используйте любой клиент WireGuard для подключения. Вам придётся обращаться к частным ресурсам, используя IP узла.",
"siteWgCompatibleAllClients": "Совместим со всеми клиентами WireGuard",
"siteWgManualConfigurationRequired": "Требуется ручная настройка",
"userErrorNotAdminOrOwner": "Пользователь не является администратором или владельцем",
@@ -1989,6 +1995,9 @@
"domainPickerSubdomain": "Поддомен: {subdomain}",
"domainPickerNamespace": "Пространство имен: {namespace}",
"domainPickerShowMore": "Показать еще",
+ "domainPickerNoDomainsAvailableTitle": "Нет доступных доменов",
+ "domainPickerNoDomainsAvailableDescription": "У вас еще не настроены домены. Создайте домен, чтобы продолжить.",
+ "domainPickerNoDomainsAvailableAction": "Перейти к доменам",
"regionSelectorTitle": "Выберите регион",
"domainPickerRemoteExitNodeWarning": "Предоставленные домены не поддерживаются при подключении сайтов к удаленным узлам. Для доступа к ресурсам на удаленных узлах используйте пользовательский домен.",
"regionSelectorInfo": "Выбор региона помогает нам обеспечить лучшее качество обслуживания для вашего расположения. Вам необязательно находиться в том же регионе, что и ваш сервер.",
@@ -2352,7 +2361,7 @@
"resourcesTableProxyResources": "Публичный",
"resourcesTableClientResources": "Приватный",
"resourcesTableNoProxyResourcesFound": "Проксированных ресурсов не найдено.",
- "resourcesTableNoInternalResourcesFound": "Внутренних ресурсов не найдено.",
+ "resourcesTableNoInternalResourcesFound": "Частные ресурсы не найдены.",
"resourcesTableDestination": "Пункт назначения",
"resourcesTableAlias": "Alias",
"resourcesTableAliasAddress": "Псевдоним адреса",
@@ -2375,9 +2384,9 @@
"editInternalResourceDialogCancel": "Отмена",
"editInternalResourceDialogSaveResource": "Сохранить ресурс",
"editInternalResourceDialogSuccess": "Успешно",
- "editInternalResourceDialogInternalResourceUpdatedSuccessfully": "Внутренний ресурс успешно обновлен",
+ "editInternalResourceDialogInternalResourceUpdatedSuccessfully": "Частный ресурс успешно обновлен",
"editInternalResourceDialogError": "Ошибка",
- "editInternalResourceDialogFailedToUpdateInternalResource": "Не удалось обновить внутренний ресурс",
+ "editInternalResourceDialogFailedToUpdateInternalResource": "Не удалось обновить частный ресурс",
"editInternalResourceDialogNameRequired": "Имя обязательно",
"editInternalResourceDialogNameMaxLength": "Имя не должно быть длиннее 255 символов",
"editInternalResourceDialogProxyPortMin": "Порт прокси должен быть не менее 1",
@@ -2403,7 +2412,7 @@
"editInternalResourceDialogAlias": "Alias",
"editInternalResourceDialogAliasDescription": "Дополнительный внутренний DNS псевдоним для этого ресурса.",
"createInternalResourceDialogNoSitesAvailable": "Нет доступных сайтов",
- "createInternalResourceDialogNoSitesAvailableDescription": "Вам необходимо иметь хотя бы один сайт Newt с настроенной подсетью для создания внутреннего ресурса.",
+ "createInternalResourceDialogNoSitesAvailableDescription": "Вам необходимо иметь хотя бы один сайт Newt с настроенной подсетью для создания частных ресурсов.",
"createInternalResourceDialogClose": "Закрыть",
"createInternalResourceDialogCreateClientResource": "Создать приватный ресурс",
"createInternalResourceDialogCreateClientResourceDescription": "Создать новый ресурс, который будет доступен только клиентам, подключенным к организации",
@@ -2432,9 +2441,9 @@
"createInternalResourceDialogCancel": "Отмена",
"createInternalResourceDialogCreateResource": "Создать ресурс",
"createInternalResourceDialogSuccess": "Успешно",
- "createInternalResourceDialogInternalResourceCreatedSuccessfully": "Внутренний ресурс успешно создан",
+ "createInternalResourceDialogInternalResourceCreatedSuccessfully": "Частный ресурс успешно создан",
"createInternalResourceDialogError": "Ошибка",
- "createInternalResourceDialogFailedToCreateInternalResource": "Не удалось создать внутренний ресурс",
+ "createInternalResourceDialogFailedToCreateInternalResource": "Не удалось создать частный ресурс",
"createInternalResourceDialogNameRequired": "Имя обязательно",
"createInternalResourceDialogNameMaxLength": "Имя должно содержать менее 255 символов",
"createInternalResourceDialogPleaseSelectSite": "Пожалуйста, выберите сайт",
@@ -3089,8 +3098,8 @@
"sourceAddress": "Адрес источника",
"destinationAddress": "Адрес назначения",
"duration": "Продолжительность",
- "licenseRequiredToUse": "Требуется лицензия на Enterprise Edition или Pangolin Cloud для использования этой функции. Забронируйте демонстрацию или пробный POC.",
- "ossEnterpriseEditionRequired": "Enterprise Edition требуется для использования этой функции. Эта функция также доступна в Pangolin Cloud. Забронируйте демонстрацию или пробный POC.",
+ "licenseRequiredToUse": "Требуется лицензия на Enterprise Edition или Pangolin Cloud для использования этой функции. Забронируйте демонстрацию или пробный POC, чтобы узнать больше.",
+ "ossEnterpriseEditionRequired": "Enterprise Edition требуется для использования этой функции. Эта функция также доступна в Pangolin Cloud. Забронируйте демонстрацию или пробный POC, чтобы узнать больше.",
"certResolver": "Резольвер сертификата",
"certResolverDescription": "Выберите резолвер сертификата, который будет использоваться для этого ресурса.",
"selectCertResolver": "Выберите резолвер сертификата",