diff --git a/messages/ru-RU.json b/messages/ru-RU.json
index 1ffb2f391..ce4d36de4 100644
--- a/messages/ru-RU.json
+++ b/messages/ru-RU.json
@@ -43,6 +43,8 @@
"inviteLoginUser": "Убедитесь, что вы вошли под правильным пользователем.",
"inviteErrorNoUser": "Извините, но похоже, что приглашение, к которому вы пытаетесь получить доступ, предназначено для несуществующего пользователя.",
"inviteCreateUser": "Сначала создайте аккаунт.",
+ "inviteErrorOidcNotAllowed": "Приглашения могут быть приняты только внутренними учетными записями. Выйдите и войдите с вашим паролем для этого электронного адреса.",
+ "inviteLoginInternalOnly": "Приглашения требуют внутреннюю учетную запись с паролем. Создайте учетную запись или войдите с вашим паролем.",
"goHome": "На главную",
"inviteLogInOtherUser": "Войти под другим пользователем",
"createAnAccount": "Создать учётную запись",
@@ -286,7 +288,21 @@
"noCountryFound": "Страна не найдена.",
"siteSelectionDescription": "Этот сайт предоставит подключение к цели.",
"resourceType": "Тип ресурса",
- "resourceTypeDescription": "Это контролирует протокол ресурса и то, как он будет отображаться в браузере. Это нельзя изменить позже.",
+ "resourceTypeDescription": "Это контролирует протокол ресурса и не может быть изменено позже.",
+ "resourceTypeSearch": "Поиск типов ресурсов...",
+ "resourceTypeNotFound": "Тип ресурса не найден",
+ "resourceTypeHttpDescription": "Проксирование веб-трафика через HTTPS с использованием доменного имени",
+ "resourceTypeInferenceDescription": "Маршрутизация запросов ИИ через прикрепленных поставщиков",
+ "resourceTypeSshDescription": "Доступ к серверу SSH из браузера",
+ "resourceTypeRdpDescription": "Доступ к удаленному рабочему столу из браузера",
+ "resourceTypeVncDescription": "Доступ к рабочему столу VNC из браузера",
+ "resourceTypeTcpDescription": "Проксирование сырых TCP данных с использованием номера порта",
+ "resourceTypeUdpDescription": "Проксирование сырых UDP данных с использованием номера порта",
+ "privateResourceTypeDescription": "Это контролирует, как клиенты достигают ресурса. Это не может быть изменено позже.",
+ "privateResourceTypeHostDescription": "Опубликуйте один хост в сети сайта для подключенных клиентов",
+ "privateResourceTypeCidrDescription": "Опубликуйте диапазон CIDR в сети сайта для подключенных клиентов",
+ "privateResourceTypeHttpDescription": "Доступ к сервису HTTP или HTTPS через домен",
+ "privateResourceTypeSshDescription": "Доступ к серверу SSH от подключенных клиентов",
"resourceDomainDescription": "Ресурс будет предоставлен по этому полностью определенному доменному имени.",
"resourceHTTPSSettings": "Настройки HTTPS",
"resourceHTTPSSettingsDescription": "Настройка доступа к ресурсу по HTTPS",
@@ -855,12 +871,16 @@
"authMethodsSave": "Сохранить настройки",
"policyAuthStackTitle": "Аутентификация",
"policyAuthStackDescription": "Контроль, какие методы аутентификации требуются для доступа к этому ресурсу",
+ "policyAuthInferenceStackDescription": "Выберите, какие пользователи и роли могут аутентифицироваться на этом ИИ шлюзе",
"policyAuthOrLogicTitle": "Несколько методов аутентификации активны",
"policyAuthOrLogicBanner": "Посетители могут аутентифицироваться, используя любой из активных методов ниже. Им не нужно выполнять все.",
"policyAuthMethodActive": "Активно",
"policyAuthMethodOff": "Отключено",
"policyAuthSsoTitle": "Платформа SSO",
"policyAuthSsoDescription": "Требуется войти через поставщика удостоверений вашей организации",
+ "policyAuthInferenceIdentityKeySignInUrl": "URL входа в систему",
+ "policyAuthInferenceIdentityKeyHelpNoUrl": "У каждого пользователя уже есть идентификационный ключ API, поэтому вам нужно создать виртуальные ключи API для не пользовательских клиентов или общего доступа.",
+ "policyAuthInferenceIdentityKeyHelp": "Пользователи получают свой ключ здесь после входа в систему с провайдером идентификаторов.",
"policyAuthSsoSummary": "{idp} · {users} пользователей, {roles} ролей",
"policyAuthSsoDefaultIdp": "Поставщик по умолчанию",
"policyAuthAddDefaultIdentityProvider": "Добавить поставщика удостоверений по умолчанию",
@@ -1079,6 +1099,8 @@
"accessRoleErrorNewRequired": "Новая роль обязательна",
"accessRoleErrorRemove": "Не удалось удалить роль",
"accessRoleErrorRemoveDescription": "Произошла ошибка при удалении роли.",
+ "accessRoleInferenceBudget": "Бюджет ИИ",
+ "accessRoleInferenceBudgetDescription": "Настройте, как члены этой роли ограничивают использование ИИ в зависимости от расходов или лимитов токенов",
"accessRoleName": "Название роли",
"accessRoleQuestionRemove": "Вы собираетесь удалить `{name}` роль. Это действие нельзя отменить.",
"accessRoleRemove": "Удалить роль",
@@ -1424,6 +1446,28 @@
"actionDeleteSite": "Удалить сайт",
"actionGetSite": "Получить сайт",
"actionListSites": "Список сайтов",
+ "actionCreateAiProvider": "Создать поставщика ИИ",
+ "actionDeleteAiProvider": "Удалить поставщика ИИ",
+ "actionGetAiProvider": "Get AI Provider",
+ "actionListAiProviders": "Список поставщиков ИИ",
+ "actionUpdateAiProvider": "Обновить поставщика ИИ",
+ "actionCreateAiModel": "Создать модель ИИ",
+ "actionDeleteAiModel": "Удалить модель ИИ",
+ "actionGetAiModel": "Получить модель ИИ",
+ "actionListAiModels": "Список моделей ИИ",
+ "actionUpdateAiModel": "Обновить модель ИИ",
+ "actionCreateAiBudget": "Создать бюджет ИИ",
+ "actionDeleteAiBudget": "Удалить бюджет ИИ",
+ "actionGetAiBudget": "Get AI Budget",
+ "actionListAiBudgets": "Список бюджетов ИИ",
+ "actionUpdateAiBudget": "Обновить бюджет ИИ",
+ "actionListResourceAiModels": "Список моделей ИИ ресурса",
+ "actionSetResourceAiModels": "Установить модели ИИ ресурса",
+ "actionCreateVirtualApiKey": "Создать виртуальный ключ API",
+ "actionDeleteVirtualApiKey": "Удалить виртуальный ключ API",
+ "actionGetVirtualApiKey": "Get Virtual API Key",
+ "actionListVirtualApiKeys": "Список виртуальных ключей API",
+ "actionUpdateVirtualApiKey": "Обновить виртуальный ключ API",
"actionApplyBlueprint": "Применить чертёж",
"actionListBlueprints": "Список чертежей",
"actionGetBlueprint": "Получить чертёж",
@@ -1449,8 +1493,11 @@
"actionSetResourcePincode": "Установить ПИН-код ресурса",
"actionSetResourceEmailWhitelist": "Настроить белый список ресурсов email",
"actionGetResourceEmailWhitelist": "Получить белый список ресурсов email",
+ "actionListResourcePolicies": "Список политик ресурсов",
+ "actionCreateResourcePolicy": "Создать политику ресурса",
"actionGetResourcePolicy": "Получить политику ресурса",
"actionUpdateResourcePolicy": "Обновить политику ресурса",
+ "actionDeleteResourcePolicy": "Удалить политику ресурса",
"actionSetResourcePolicyUsers": "Установить пользователей политики ресурса",
"actionSetResourcePolicyRoles": "Установить роли политики ресурса",
"actionSetResourcePolicyPassword": "Установить пароль политики ресурса",
@@ -1622,6 +1669,404 @@
"sidebarInvitations": "Приглашения",
"sidebarRoles": "Роли",
"sidebarShareableLinks": "Общие ссылки",
+ "sidebarAiGateway": "ИИ шлюз",
+ "sidebarAiProviders": "Поставщики",
+ "commandAiProviders": "Поставщики ИИ",
+ "sidebarVirtualApiKeys": "Виртуальные ключи API",
+ "sidebarMyApiKeys": "Ваши ключи API",
+ "sidebarAccount": "Пусковая установка",
+ "commandVirtualApiKeys": "Виртуальные ключи API",
+ "virtualApiKeysTitle": "Управление виртуальными ключами API",
+ "virtualApiKeysDescription": "Создание и управление ручными ключами API для доступа к ИИ шлюзам",
+ "virtualApiKeysTabIdentity": "Ключи Идентификации",
+ "virtualApiKeysTabVirtual": "Виртуальные ключи",
+ "virtualApiKeysIdentitySplashTitle": "Ключи Идентификации для каждого пользователя",
+ "virtualApiKeysIdentitySplashDescription": "Каждый пользователь уже имеет ключ для идентификации Pangolin для этой организации.",
+ "virtualApiKeysIdentitySplashExample": "Пример",
+ "virtualApiKeysIdentitySplashRetrieveTitle": "Как пользователи получают свой ключ",
+ "virtualApiKeysIdentitySplashRetrieveResource": "Перейдите по URL публичного ИИ шлюза в браузере и войдите в систему под своей учётной записью.",
+ "virtualApiKeysIdentitySplashRetrievePage": "Или перейдите на , находясь в системе.",
+ "virtualApiKeysIdentitySplashManual": "Вы можете создать дополнительные виртуальные ключи API на вкладке Виртуальные ключи.",
+ "virtualApiKeysIdentitySplashGoToVirtual": "Создать ключ вручную",
+ "virtualApiKeysEmailIdentity": "Идентификационные ключи электронной почты",
+ "virtualApiKeysEmailIdentityDescription": "Отправьте каждому выбранному пользователю или роли их идентификационный ключ Pangolin.",
+ "virtualApiKeysEmailIdentitySendAll": "Отправить всем пользователям",
+ "virtualApiKeysEmailIdentitySendAllDescription": "Отправить электронное письмо каждому члену организации, имеющему электронную почту.",
+ "virtualApiKeysEmailIdentitySelectUsers": "Пользователи",
+ "virtualApiKeysEmailIdentitySelectRoles": "Роли",
+ "virtualApiKeysEmailIdentitySubmit": "Отправить сообщения электронной почты",
+ "virtualApiKeysEmailIdentitySuccess": "Ключи идентификации отправлены по электронной почте",
+ "virtualApiKeysEmailIdentitySuccessDescription": "Отправлено {sent} сообщений электронной почты.",
+ "virtualApiKeysEmailIdentitySkipped": "{skipped} пользователей пропущено, поскольку у них нет адреса электронной почты.",
+ "virtualApiKeysEmailIdentityRecipientsRequired": "Выберите хотя бы одного пользователя или роль, или отправьте всем пользователям.",
+ "virtualApiKeysEmailIdentityError": "Ошибка при отправке ключей идентификации",
+ "virtualApiKeysEmailIdentityErrorDescription": "Не удалось отправить ключи идентификации по электронной почте",
+ "virtualApiKeysBannerTitle": "Ключи идентификации для каждого пользователя",
+ "virtualApiKeysBannerDescription": "Каждый пользователь уже имеет ключ идентификации, доступный на {keysUrl}.",
+ "virtualApiKeysBannerButtonText": "Просмотр ключей идентификации",
+ "virtualApiKeys": "Виртуальные ключи API",
+ "virtualApiKeysSearch": "Поиск ключей...",
+ "virtualApiKeysCreate": "Создать виртуальный ключ API",
+ "virtualApiKeysCreateDescription": "Создать ручной ключ, который может вызвать публичные ИИ шлюзы в этой организации",
+ "virtualApiKeysCreateButton": "Создать ключ",
+ "virtualApiKeysEmpty": "Виртуальные ключи API еще не созданы",
+ "virtualApiKeysName": "Имя",
+ "virtualApiKeysDescriptionOptional": "Описание (опционально)",
+ "virtualApiKeysAssociateUserOptional": "Связать пользователя (опционально)",
+ "virtualApiKeysAssociateUserDescription": "Свяжите этот ключ с пользователем для отслеживания использования.",
+ "virtualApiKeysAllResources": "Все публичные ИИ шлюзы",
+ "virtualApiKeysAllResourcesDescription": "Разрешите этому ключу доступ ко всем публичным ИИ шлюзам в организации",
+ "virtualApiKeysSelectResources": "Публичные ИИ шлюзы",
+ "virtualApiKeysSelectResourcesPlaceholder": "Выберите ресурсы",
+ "virtualApiKeysSelectResourcesDescription": "Выберите, к каким публичным ИИ шлюзам этот ключ может получить доступ",
+ "virtualApiKeysNoResources": "Нет ресурсов",
+ "virtualApiKeysSecret": "Ключ",
+ "virtualApiKeysCopyKey": "Скопируйте этот ключ. Вы можете просмотреть его позже в таблице или при редактировании.",
+ "virtualApiKeysViewSecret": "Посмотреть секрет",
+ "virtualApiKeysViewSecretTitle": "Секрет виртуального ключа API",
+ "virtualApiKeysViewSecretDescription": "Этот секрет предоставляет доступ к назначенным публичным ИИ шлюзам этого ключа",
+ "virtualApiKeysEdit": "Изменить виртуальный ключ API",
+ "virtualApiKeysEditDescription": "Обновите связанного пользователя и доступ к публичным ИИ шлюзам для этого ключа",
+ "virtualApiKeysSaveButton": "Сохранить изменения",
+ "virtualApiKeysSelectResourcesRequired": "Выберите хотя бы один публичный ИИ шлюз или разрешите все публичные ИИ шлюзы",
+ "virtualApiKeysUpdated": "Виртуальный ключ API обновлен",
+ "virtualApiKeysUpdatedDescription": "Виртуальный ключ API обновлен",
+ "virtualApiKeysErrorUpdate": "Ошибка обновления виртуального ключа API",
+ "virtualApiKeysErrorUpdateDescription": "Не удалось обновить виртуальный ключ API",
+ "virtualApiKeysErrorCreate": "Ошибка создания виртуального ключа API",
+ "virtualApiKeysErrorCreateDescription": "Не удалось создать виртуальный ключ API",
+ "virtualApiKeysErrorDelete": "Ошибка удаления виртуального ключа API",
+ "virtualApiKeysErrorDeleteMessage": "Не удалось удалить виртуальный ключ API",
+ "virtualApiKeysDeleted": "Виртуальный ключ API удален",
+ "virtualApiKeysDeletedDescription": "Виртуальный ключ API удален",
+ "virtualApiKeysDelete": "Удалить виртуальный ключ API",
+ "virtualApiKeysDeleteConfirm": "Удалить ключ",
+ "virtualApiKeysQuestionRemove": "Вы уверены, что хотите удалить этот виртуальный ключ API?",
+ "virtualApiKeysMessageRemove": "Клиенты, использующие этот ключ, немедленно потеряют доступ.",
+ "virtualApiKeysErrorFetchSecret": "Ошибка загрузки секрета",
+ "virtualApiKeysErrorFetchSecretDescription": "Не удалось загрузить секрет виртуального ключа API",
+ "virtualApiKeysFilterUnassigned": "Не назначен",
+ "virtualApiKeysInferenceBudget": "Бюджет",
+ "virtualApiKeysInferenceBudgetDescription": "Настройте, как этот ключ ограничивает использование ИИ на основе расходов или лимитов токенов",
+ "virtualApiKeysEmailOnGenerate": "Отправить ключ по электронной почте при создании",
+ "virtualApiKeysEmailThisKey": "Отправить этот ключ по электронной почте",
+ "virtualApiKeysEmailOnGenerateDescription": "Отправьте ключ связанному пользователю и дополнительным адресам после его создания",
+ "virtualApiKeysEmailThisKeyDescription": "Отправьте текущий ключ связанному пользователю и дополнительным адресам",
+ "virtualApiKeysEmailSmtpRequired": "На этом сервере не настроена электронная почта",
+ "virtualApiKeysEmailSmtpRequiredDescription": "Настройте SMTP для отправки ключей API по электронной почте.",
+ "virtualApiKeysEmailSendToUser": "Отправить связанному пользователю",
+ "virtualApiKeysEmailSendToUserDescription": "Отправьте ключ на адрес электронной почты учетной записи связанного пользователя",
+ "virtualApiKeysEmailSendToUserDisabled": "Свяжите пользователя, чтобы отправить ему ключ",
+ "virtualApiKeysEmailAdditional": "Дополнительные электронные письма",
+ "virtualApiKeysEmailAdditionalPlaceholder": "Добавьте электронный адрес и нажмите Enter",
+ "virtualApiKeysEmailRecipientsRequired": "Выберите связанного пользователя или добавьте хотя бы один адрес электронной почты",
+ "myVirtualApiKeysTitle": "Ваши ключи API",
+ "myVirtualApiKeysDescription": "Просмотрите ваш ключ идентификации и любые виртуальные ключи API, принадлежащие вам в этой организации",
+ "myVirtualApiKeysResourceTitle": "Ваши ключи API для {resourceName}",
+ "myVirtualApiKeysResourceDescription": "Просмотрите ваш ключ идентификации и виртуальные ключи API, принадлежащие вам, которые могут получить доступ к {resourceName}",
+ "myVirtualApiKeysIdentityTitle": "Ключ идентификации",
+ "myVirtualApiKeysIdentityHeadline": "Ваш личный ключ API",
+ "myVirtualApiKeysIdentityDescription": "Ваш личный ключ для этой организации.",
+ "myVirtualApiKeysIdentityResourceHeadline": "Ваш личный ключ API для {resourceName}",
+ "myVirtualApiKeysIdentityResourceDescription": "Ваш личный ключ для этой организации. Используйте его для вызова {resourceName}.",
+ "myVirtualApiKeysManualTitle": "Назначенные ключи",
+ "myVirtualApiKeysManualDescription": "Ручные виртуальные ключи API, с которыми администратор связал вашу учетную запись",
+ "myVirtualApiKeysManualResourceDescription": "Ручные виртуальные ключи API, с которыми связана ваша учетная запись и которые могут получить доступ к {resourceName}",
+ "myVirtualApiKeysManualEmpty": "Назначенные ключи еще не созданы",
+ "myVirtualApiKeysKindUser": "Идентификация",
+ "myVirtualApiKeysKindManual": "Manual",
+ "myVirtualApiKeysUnnamed": "Неназванный ключ",
+ "myVirtualApiKeysRevealSecret": "Показать секрет",
+ "myVirtualApiKeysViewSecretDescription": "Этот секрет аутентифицирует вас в ресурсах ИИ шлюза",
+ "aiProvidersTitle": "Поставщики ИИ",
+ "aiProvidersDescription": "Подключите поставщиков моделей для ИИ нагрузок в этой организации",
+ "aiProvidersBannerTitle": "Подключить поставщиков моделей",
+ "aiProvidersBannerDescription": "Поставщики являются бэкэндами моделей, которые Pangolin использует для ИИ нагрузок.",
+ "aiProvidersAdd": "Добавить поставщика",
+ "aiProvidersSearch": "Поиск поставщиков...",
+ "aiProvidersEmpty": "Поставщики ИИ еще не созданы",
+ "aiProviderCreate": "Создать поставщика ИИ",
+ "aiProviderCreateDescription": "Добавьте поставщика моделей для этой организации",
+ "aiProviderSeeAll": "Посмотреть всех поставщиков",
+ "aiProviderSetting": "Настройки поставщика {providerName}",
+ "aiProviderSettingDescription": "Настройте этого поставщика ИИ",
+ "aiProviderGeneral": "Общие",
+ "aiProviderGeneralDescription": "Основные настройки для этого поставщика",
+ "aiProviderConfiguration": "Configuration",
+ "aiProviderConfigurationDescription": "Маршрутизация сети и аутентификация для этого поставщика",
+ "aiProviderNetworkSettings": "Настройки сети",
+ "aiProviderNetworkSettingsDescription": "Выберите, как трафик достигает этого поставщика",
+ "aiProviderAuthSettings": "Аутентификация",
+ "aiProviderAuthSettingsDescription": "Настройте аутентификацию запросов этого поставщика к его URL-адресу",
+ "aiProviderBudgetSettings": "Бюджет",
+ "aiProviderBudgetSettingsDescription": "Настройте, как этот поставщик ограничивает использование на основе расходов или лимитов токенов",
+ "aiBudgetAdd": "Добавить бюджет",
+ "aiBudgetEmpty": "Бюджеты еще не настроены. Нажмите «Добавить бюджет», чтобы установить лимит расходов или токенов.",
+ "aiBudgetUnit": "Тип расходов",
+ "aiBudgetPeriod": "Период сброса",
+ "aiBudgetAmount": "Максимальная трата",
+ "aiBudgetAmountPlaceholder": "Максимальная трата",
+ "aiBudgetPeriodHourly": "Почасово",
+ "aiBudgetPeriodDaily": "Ежедневно",
+ "aiBudgetPeriodWeekly": "Еженедельно",
+ "aiBudgetPeriodMonthly": "Ежемесячно",
+ "aiBudgetPeriodYearly": "Ежегодно",
+ "aiBudgetPeriodLifetime": "На протяжении жизни",
+ "aiBudgetUnitUsd": "USD",
+ "aiBudgetUnitTokens": "Токены",
+ "aiBudgetConflictError": "Бюджет для этого периода сброса и типа расходов уже существует",
+ "aiBudgetInvalidAmountError": "Введите максимальную трату, большую 0",
+ "aiBudgetUpdated": "Бюджеты обновлены",
+ "aiBudgetErrorSave": "Не удалось обновить бюджеты",
+ "aiProviderType": "Тип поставщика",
+ "aiProviderTypeSearch": "Поиск поставщиков...",
+ "aiProviderTypeNotFound": "Тип поставщика не найден",
+ "aiProviderTypeOpenai": "OpenAI",
+ "aiProviderTypeAnthropic": "Anthropic",
+ "aiProviderTypeGoogleGemini": "Google Gemini",
+ "aiProviderTypeVertexAi": "Vertex AI",
+ "aiProviderTypeBedrock": "Amazon Bedrock",
+ "aiProviderTypeMicrosoftFoundry": "Microsoft Foundry",
+ "aiProviderTypeOpenRouter": "OpenRouter",
+ "aiProviderTypeVercelAiGateway": "Шлюз Vercel AI",
+ "aiProviderTypeCustom": "Пользовательский",
+ "aiProviderTypeOpenaiDescription": "OpenAI API",
+ "aiProviderTypeAnthropicDescription": "Anthropic API",
+ "aiProviderTypeGoogleGeminiDescription": "Google Gemini API",
+ "aiProviderTypeVertexAiDescription": "API Google Vertex AI",
+ "aiProviderTypeBedrockDescription": "API Amazon Bedrock Runtime",
+ "aiProviderTypeMicrosoftFoundryDescription": "API Microsoft Foundry",
+ "aiProviderTypeOpenRouterDescription": "API OpenRouter",
+ "aiProviderTypeVercelAiGatewayDescription": "Шлюз Vercel AI API",
+ "aiProviderTypeCustomDescription": "Используйте свой собственный конечный узел или маршрутизируйте через целевые сайты",
+ "aiProviderUpstreamUrl": "Исходный URL",
+ "aiProviderUpstreamUrlDescription": "Базовый URL для API провайдера",
+ "aiProviderUpstreamUrlOptionalDescription": "Оставьте пустым, чтобы использовать исходный URL по умолчанию для этого провайдера",
+ "aiProviderEffectiveUpstreamUrl": "Эффективный исходный URL",
+ "aiProviderApiKey": "API ключ",
+ "aiProviderApiKeyDescription": "API ключ, используемый для аутентификации запросов к этому провайдеру",
+ "aiProviderCustomHeadersDescription": "Заголовки, отправляемые в каждом запросе к этому провайдеру. Разделены новыми строками: Имя-заголовка: значение",
+ "aiProviderApiKeyLastChars": "API ключ",
+ "aiProviderAuthType": "Тип аутентификации",
+ "aiProviderAuthTypeSearch": "Поиск типов аутентификации...",
+ "aiProviderAuthTypeNotFound": "Тип аутентификации не найден",
+ "aiProviderAuthTypeBearer": "Bearer",
+ "aiProviderAuthTypeBearerDescription": "Authorization: Bearer key. Используется OpenAI и большинством провайдеров",
+ "aiProviderAuthTypeXApiKey": "x-api-key",
+ "aiProviderAuthTypeXApiKeyDescription": "Заголовок x-api-key. Используется компанией Anthropic",
+ "aiProviderAuthTypeXGoogApiKey": "x-goog-api-key",
+ "aiProviderAuthTypeXGoogApiKeyDescription": "Заголовок x-goog-api-key. Используется компанией Google Gemini",
+ "aiProviderAuthTypeHec": "Splunk HEC",
+ "aiProviderAuthTypeHecDescription": "Authorization: Splunk key. Используется Splunk HTTP Event Collector",
+ "aiProviderAuthTypeCfAigAuthorization": "Cloudflare AI Gateway",
+ "aiProviderAuthTypeCfAigAuthorizationDescription": "cf-aig-authorization: Bearer key. Используется Cloudflare AI Gateway",
+ "aiProviderAuthTypeNone": "Без аутентификации",
+ "aiProviderAuthTypePassthrough": "Passthrough",
+ "aiProviderAuthTypeDescription": "Как исходный API аутентифицирует запросы",
+ "aiProviderAuthTypePassthroughDescription": "Перенаправьте заголовки API ключей вызывающего на исходный сервер",
+ "aiProviderAuthTypeNoneDescription": "Не отправлять заголовки аутентификации на исходный сервер",
+ "aiProviderRoutingMode": "Режим маршрутизации",
+ "aiProviderRoutingModeDescription": "Отправка трафика на исходный URL или на HTTP-цели на ваших сайтах",
+ "aiProviderRoutingModeUrl": "Исходный URL",
+ "aiProviderRoutingModeUrlDescription": "Вызов общественного или частного базового URL-адреса API",
+ "aiProviderRoutingModeTarget": "Цели сайта",
+ "aiProviderRoutingModeTargetDescription": "Маршрутизация через цели на ваших сайтах",
+ "aiProviderRoutingModeTargetNote": "После создания этого провайдера настройте целевые сайты на вкладке Сетевые настройки.",
+ "aiProviderTargetNoOne": "У этого провайдера нет целей. Добавьте цель для маршрутизации запросов через ваши сайты.",
+ "aiProviderSkipTlsVerification": "Пропустить проверку TLS",
+ "aiProviderSkipTlsVerificationDescription": "Отключить проверку сертификата TLS для исходного соединения",
+ "aiProviderBudget": "Бюджет",
+ "aiProviderBudgetDescription": "Дополнительные расходы или бюджет токенов для этого провайдера",
+ "aiProviderBudgetAmount": "Сумма бюджета",
+ "aiProviderBudgetUnit": "Единица бюджета",
+ "aiProviderBudgetUnitUsd": "USD",
+ "aiProviderBudgetUnitTokens": "Токены",
+ "aiProviderEnabled": "Включено",
+ "aiProviderEnabledDescription": "Полностью отключите этого провайдера на всех ресурсах",
+ "aiProviderErrorCreate": "Не удалось создать провайдера AI",
+ "aiProviderErrorUpdate": "Не удалось обновить провайдера AI",
+ "aiProviderErrorDelete": "Не удалось удалить провайдера AI",
+ "aiProviderErrorLoad": "Не удалось загрузить провайдера AI",
+ "aiProviderErrorUpstreamUrlInvalid": "Введите действительный исходный URL",
+ "aiProviderErrorUpstreamUrlRequired": "Исходный URL обязателен для этого провайдера",
+ "aiProviderErrorAuthTypeRequired": "Тип аутентификации обязателен",
+ "aiProviderErrorApiKeyRequired": "API ключ обязателен",
+ "aiProviderErrorRoutingModeTarget": "Маршрутизация целевых сайтов доступна только для пользовательских провайдеров",
+ "aiProviderErrorCapabilitiesRequired": "Выберите хотя бы одну возможность API",
+ "aiProviderCapabilities": "Возможности API",
+ "aiProviderCapabilitiesDescription": "Выберите, какие форматы API этот провайдер может обработать. Известные провайдеры начинают с рекомендованных по умолчанию.",
+ "aiProviderCapabilitiesCustomDescription": "Выберите, какие форматы API может обрабатывать этот пользовательский провайдер",
+ "aiProviderCapabilitiesSelect": "Выберите возможности",
+ "aiProviderCapabilitiesEmpty": "Возможности не найдены",
+ "aiProviderCapabilitiesSearch": "Поиск возможностей...",
+ "aiCapabilityOpenaiChat": "Чат завершений OpenAI",
+ "aiCapabilityOpenaiChatDescription": "Поддерживает /v1/chat/completions",
+ "aiCapabilityOpenaiResponses": "Ответы OpenAI",
+ "aiCapabilityOpenaiResponsesDescription": "Поддерживает /v1/responses",
+ "aiCapabilityAnthropicMessages": "Сообщения Anthropic",
+ "aiCapabilityAnthropicMessagesDescription": "Поддерживает /v1/messages",
+ "aiCapabilityGeminiGenerateContent": "Gemini Создание контента",
+ "aiCapabilityGeminiGenerateContentDescription": "Поддерживает прямой API Gemini",
+ "aiCapabilityBedrockModelInvoke": "Вызов модели Bedrock",
+ "aiCapabilityBedrockModelInvokeDescription": "Поддерживает Amazon Bedrock InvokeModel",
+ "aiCapabilityGoogleGenerateContent": "Vertex Создание контента",
+ "aiCapabilityGoogleGenerateContentDescription": "Поддерживает формат Vertex AI Gemini",
+ "aiCapabilityGoogleRawPredict": "Сырой прогноз Vertex",
+ "aiCapabilityGoogleRawPredictDescription": "Поддерживает Vertex AI rawPredict для моделей Anthropic",
+ "aiCapabilityBedrockConverse": "Общение Bedrock",
+ "aiCapabilityBedrockConverseDescription": "Поддерживает API общения Amazon Bedrock",
+ "aiProviderCreated": "Провайдер AI создан",
+ "aiProviderUpdated": "Провайдер AI обновлен",
+ "aiProviderDeleted": "Провайдер AI удален",
+ "aiProviderDelete": "Удалить провайдера",
+ "aiProviderDeleteConfirm": "Удалить провайдера",
+ "aiProviderQuestionRemove": "Вы уверены, что хотите удалить этого провайдера AI?",
+ "aiProviderMessageRemove": "Это приведет к окончательному удалению провайдера и его моделей и целей. Это действие нельзя отменить.",
+ "aiProviderErrorNoUpdate": "Провайдер AI недоступен для обновления",
+ "aiProviderModels": "Модели",
+ "aiProviderModelsDescription": "Определите списки разрешений и блокировок для этого провайдера. Запросы должны соответствовать записи в списке разрешений и не должны соответствовать записи в списке блокировок.",
+ "aiProviderCreateModelsDescription": "Выберите, какие модели сможет обслуживать этот провайдер. Пустой список разрешений запрещает весь трафик. Вы можете добавлять или изменять модели позже.",
+ "aiProviderModelsPlaceholder": "Поиск моделей или введите пользовательский ключ",
+ "aiProviderModelsAllow": "Список разрешений",
+ "aiProviderModelsAllowDescription": "Модели, которые могут быть использованы через этого провайдера. Пустой список означает запретить все.",
+ "aiProviderModelsAllowPlaceholder": "Введите ключ модели",
+ "aiProviderModelsAllowEmpty": "Пока модели не добавлены.",
+ "aiProviderModelsBlock": "Список блокировок",
+ "aiProviderModelsBlockDescription": "Модели для отклонения, даже если они соответствуют записи в списке разрешений.",
+ "aiProviderModelsBlockPlaceholder": "Введите ключ модели",
+ "aiProviderModelsBlockEmpty": "Модели пока не добавлены.",
+ "aiProviderModelsAdd": "Добавить модели",
+ "aiProviderModelsClearAll": "Очистить все",
+ "aiProviderModelsAddCustom": "Добавить \"{key}\"",
+ "aiProviderModelsAddCustomHint": "Нажмите Enter, чтобы добавить этот пользовательский ключ модели.",
+ "aiProviderModelsAddBulk": "Добавить {count} пользовательских ключей",
+ "aiProviderModelsAddBulkHint": "Нажмите Enter, чтобы добавить {count} пользовательских ключей.",
+ "aiProviderModelsAddOne": "Добавить {key} сейчас",
+ "aiProviderModelsAddSelected": "Добавить выбранное",
+ "aiProviderModelsSelectedCount": "{count} выбрано",
+ "aiProviderModelsSelectAll": "Выбрать все",
+ "aiProviderModelsClearSelected": "Очистить",
+ "aiProviderModelsBulkHint": "Выберите известные модели или введите пользовательский ключ.",
+ "aiProviderModelsCatalogEmpty": "Нет подходящих моделей каталога.",
+ "aiProviderModelsCatalogHeading": "Известные модели",
+ "aiProviderModelsAllLabel": "Все модели",
+ "aiProviderModelsAllPatternHint": "Подстановочный знак: *",
+ "aiProviderModelsAddAllAllow": "Разрешить все модели",
+ "aiProviderModelsAddAllBlock": "Блокировать все модели",
+ "aiProviderModelsAddAllDescription": "Использует подстановочный знак *, чтобы каждый ключ модели соответствовал.",
+ "aiProviderModelsViewMore": "Просмотреть больше ({count})",
+ "aiProviderModelsViewLess": "Просмотреть меньше",
+ "aiProviderModelsRemove": "Удалить модель",
+ "aiProviderModelsEditHint": "Нажмите, чтобы изменить параметры модели",
+ "aiProviderModelsSourceCatalog": "Известная модель каталога",
+ "aiProviderModelsSourceCustom": "Пользовательский ключ модели",
+ "aiProviderModelsSourcePattern": "Подстановочный шаблон",
+ "aiProviderModelsSourceAll": "Соответствует каждому ключу модели",
+ "aiProviderModelsBudgetConfigured": "Бюджет настроен",
+ "aiProviderModelsEditTitle": "Изменить модель",
+ "aiProviderModelsEditDescription": "Обновите ключ модели или настройте его бюджет.",
+ "aiProviderModelsBudgetTab": "Бюджет",
+ "aiProviderModelsKeyLabel": "Ключ модели",
+ "aiProviderModelsKeyRequired": "Введите ключ модели",
+ "aiProviderModelsKeyDuplicate": "Этот ключ модели уже находится в списке",
+ "aiProviderModelsOverlapError": "Эти шаблоны не могут находиться в обоих списках: {keys}",
+ "aiProviderModelsUpdated": "Модели обновлены",
+ "aiProviderModelsErrorUpdate": "Не удалось обновить модели",
+ "aiResourceProviders": "Провайдеры",
+ "aiResourceProvidersDescription": "Выберите, какие провайдеры AI может использовать этот шлюз AI",
+ "aiResourceProvidersHelp": "Присоединяйте провайдеров и выбирайте наследовать (использовать списки каждого провайдера) или выберите (выберите список разрешений для этого ресурса). Шаблоны разрешений, конфликтующие по присоединенным провайдерам, не допускаются.",
+ "aiResourceProvidersSelect": "Выберите провайдеров",
+ "aiResourceProvidersEmpty": "Провайдеры AI не найдены",
+ "aiResourceProvidersNoneAttached": "Пока провайдеры не прикреплены.",
+ "aiResourceProvidersAdd": "Добавить провайдера",
+ "aiResourceProvidersRemove": "Удалить провайдера",
+ "aiResourceProviderToggleEnabled": "Включить или отключить этот провайдер для ресурса",
+ "aiResourceProviderDisabled": "Отключено",
+ "aiResourceProvidersUpdated": "Провайдеры обновлены",
+ "aiResourceProvidersErrorUpdate": "Не удалось обновить провайдеров",
+ "aiResourceProviderEditDescription": "Выберите, как модели этого провайдера будут выставлены на этом ресурсе.",
+ "viewProviderSettings": "Просмотреть настройки провайдера",
+ "aiResourceProviderMode": "Режим доступа",
+ "aiResourceProviderModeInherit": "Наследовать",
+ "aiResourceProviderModeSelect": "Выбрать",
+ "aiResourceProviderModeSelectSummary": "Выбрать · {count} моделей",
+ "aiResourceProviderModeInheritHelp": "Используйте разрешенные и блокирующие списки этого провайдера, как настроено на провайдере.",
+ "aiResourceProviderModeSelectHelp": "Выберите подмножество моделей из разрешенного списка этого провайдера для этого ресурса.",
+ "aiResourceProviderAllowModels": "Список разрешений",
+ "aiResourceProviderAllowModelsSelect": "Выберите модели",
+ "aiResourceProviderAllowModelsSearch": "Поиск моделей...",
+ "aiResourceProviderAllowModelsEmpty": "Модели не найдены",
+ "aiResourceProviderAllowModelsHelp": "Можно выбрать только модели из разрешенного списка этого провайдера.",
+ "aiResourceAliasRequired": "Для шлюзов AI требуется псевдоним",
+ "aiResourceDomainConfiguration": "Конфигурация домена",
+ "aiResourceDomainConfigurationDescription": "Выберите домен, который клиенты будут использовать для доступа к этому шлюзу AI.",
+ "aiUsageAnalyticsTitle": "Аналитика использования AI",
+ "aiUsageAnalyticsDescription": "Анализируйте стоимость шлюза AI, использование токена и активность по провайдерам, ресурсам, ролям и пользователям",
+ "aiUsageTabOverview": "Обзор",
+ "aiUsageTabProviders": "Провайдеры",
+ "aiUsageTabResources": "Ресурсы",
+ "aiUsageFilterProvider": "Провайдер",
+ "aiUsageFilterModel": "Модель",
+ "aiUsageFilterResource": "Ресурс",
+ "aiUsageFilterRole": "Роль",
+ "aiUsageFilterUser": "Пользователь",
+ "aiUsageFilterAllProviders": "Все провайдеры",
+ "aiUsageFilterAllModels": "Все модели",
+ "aiUsageFilterAllResources": "Все ресурсы",
+ "aiUsageFilterAllRoles": "Все роли",
+ "aiUsageFilterAllUsers": "Все пользователи",
+ "aiUsageFilterSearch": "Поиск...",
+ "aiUsageFilterNotFound": "Опции не найдены",
+ "aiUsageResetFilters": "Сбросить фильтры",
+ "aiUsageRefresh": "Обновить",
+ "aiUsageTokenTypePrompt": "Подсказка",
+ "aiUsageTokenTypeCacheRead": "Чтение кэша",
+ "aiUsageTokenTypeCacheWrite": "Запись в кэш",
+ "aiUsageTokenTypeCompletion": "Завершение",
+ "aiUsageTokenTypeReasoning": "Размышление",
+ "aiUsageRequests": "Запросы",
+ "aiUsageCost": "Стоимость",
+ "aiUsageTokens": "Токены",
+ "aiUsageOther": "Другое",
+ "aiUsageTotalRequests": "Всего запросов",
+ "aiUsageTotalTokens": "Всего токенов",
+ "aiUsageTotalCost": "Общая стоимость",
+ "aiUsageEstimated": "Оценочная",
+ "aiUsageRequestVolume": "Объем запросов",
+ "aiUsageTokenUsage": "Использование токенов",
+ "aiUsageModelCost": "Стоимость модели",
+ "aiUsageModelTokens": "Токены модели",
+ "aiUsageTopModels": "Лучшие модели",
+ "aiUsageTopProviders": "Лучшие провайдеры",
+ "aiUsageProviderCost": "Стоимость провайдера",
+ "aiUsageProviderTokenUsage": "Использование токенов провайдера",
+ "aiUsageTopResources": "Лучшие ресурсы",
+ "aiUsageResourceCost": "Стоимость ресурса",
+ "aiUsageResourceTokenUsage": "Использование токенов ресурса",
+ "aiUsageResourceTypePublic": "Общественный ресурс",
+ "aiUsageResourceTypeSite": "Частный ресурс",
+ "aiUsageNoResource": "Нет ресурса",
+ "aiUsageRolesTab": "Роли",
+ "aiUsageUsersTab": "Пользователи",
+ "aiUsageTopRoles": "Лучшие роли",
+ "aiUsageRoleCost": "Стоимость роли",
+ "aiUsageRoleTokenUsage": "Использование токенов роли",
+ "aiUsageTopUsers": "Лучшие пользователи",
+ "aiUsageUserCost": "Стоимость пользователя",
+ "aiUsageUserTokenUsage": "Использование токенов пользователя",
+ "aiUsageUnknownUser": "Неизвестный пользователь",
+ "aiUsageVirtualApiKeysTab": "Виртуальные API ключи",
+ "aiUsageFilterVirtualApiKey": "Виртуальный API ключ",
+ "aiUsageFilterAllVirtualApiKeys": "Все виртуальные API ключи",
+ "aiUsageTopVirtualApiKeys": "Лучшие виртуальные API ключи",
+ "aiUsageVirtualApiKeyCost": "Стоимость виртуального API ключа",
+ "aiUsageVirtualApiKeyTokenUsage": "Использование токенов виртуального API ключа",
+ "aiUsageUnknownVirtualApiKey": "Нет виртуального API ключа",
+ "aiUsageUnnamedVirtualApiKey": "Неименованный ключ",
+ "aiUsageLoading": "Загрузка...",
+ "aiUsageNoData": "Нет данных",
+ "resourceBudgetSettings": "Бюджет",
+ "resourceBudgetSettingsDescription": "Настройте, как этот шлюз AI ограничивает использование на основе затрат или лимитов токенов",
"sidebarApiKeys": "API ключи",
"sidebarProvisioning": "Подготовка",
"sidebarSettings": "Настройки",
@@ -2193,6 +2638,8 @@
"subnetPlaceholder": "Подсеть",
"addressDescription": "Внутренний адрес клиента. Должен находиться в подсети организации.",
"selectSites": "Выберите сайты",
+ "selectResources": "Выберите ресурсы",
+ "multiResourcesSelectorResourcesCount": "{count, plural, one {# ресурс} few {# ресурса} many {# ресурсов} other {# ресурсов}}",
"selectLabels": "Выберите метки",
"sitesDescription": "Клиент будет иметь подключение к выбранным сайтам",
"clientInstallOlm": "Установить Olm",
@@ -2245,10 +2692,11 @@
"timeIsInSeconds": "Время указано в секундах",
"requireDeviceApproval": "Требовать подтверждения устройства",
"requireDeviceApprovalDescription": "Пользователям с этой ролью нужны новые устройства, одобренные администратором, прежде чем они смогут подключаться и получать доступ к ресурсам.",
- "sshSettings": "Настройки SSH",
+ "sshSettings": "SSH",
+ "inferenceSettings": "AI Шлюз",
"sshAccess": "Доступ по SSH",
- "rdpSettings": "Настройки RDP",
- "vncSettings": "Настройки VNC",
+ "rdpSettings": "RDP",
+ "vncSettings": "VNC",
"sshServer": "SSH сервер",
"rdpServer": "RDP сервер",
"vncServer": "VNC сервер",
@@ -2401,6 +2849,7 @@
"editInternalResourceDialogModeCidr": "СИДР",
"editInternalResourceDialogModeHttp": "HTTP",
"editInternalResourceDialogModeHttps": "HTTPS",
+ "editInternalResourceDialogModeInference": "AI Шлюз",
"editInternalResourceDialogModeSsh": "SSH",
"editInternalResourceDialogScheme": "Схема",
"editInternalResourceDialogEnableSsl": "Включить TLS",
@@ -2421,8 +2870,8 @@
"privateResourceAllowIcmpPing": "Разрешить ICMP Ping",
"privateResourceNetworkAccess": "Сетевой доступ",
"privateResourceNetworkAccessDescription": "Управляйте доступом к портам TCP/UDP и настройте разрешение ICMP ping для данного ресурса.",
- "hostSettings": "Настройки хоста",
- "cidrSettings": "Настройки CIDR",
+ "hostSettings": "Хост",
+ "cidrSettings": "CIDR",
"createInternalResourceDialogResourceProperties": "Свойства ресурса",
"createInternalResourceDialogName": "Имя",
"createInternalResourceDialogSite": "Сайт",
@@ -2460,6 +2909,7 @@
"createInternalResourceDialogModeHttp": "HTTP",
"createInternalResourceDialogModeHttps": "HTTPS",
"createInternalResourceDialogModeSsh": "SSH",
+ "createInternalResourceDialogModeInference": "AI Шлюз",
"scheme": "Схема",
"createInternalResourceDialogScheme": "Схема",
"createInternalResourceDialogEnableSsl": "Включить TLS",
@@ -3051,6 +3501,7 @@
"validPassword": "Допустимый пароль",
"validEmail": "Valid email",
"validSSO": "Valid SSO",
+ "validVirtualAPIKey": "Действительный виртуальный API ключ",
"view": "Просмотр",
"configManaged": "Конфигурация управляется",
"connectedClient": "Подключенный клиент",
@@ -3072,6 +3523,38 @@
"logRetention": "Сохранение журнала",
"logRetentionDescription": "Управление сохранением различных типов журналов для этой организации или отключение их",
"requestLogsDescription": "Просмотреть подробные журналы запроса ресурсов в этой организации",
+ "aiSessionLogs": "AI Логи сессии шлюза",
+ "aiSessionLogsDescription": "Просмотр транскриптов запросов и ответов для шлюзов AI в этой организации",
+ "sidebarLogsAi": "Логи сессий",
+ "commandLogsAi": "Логи сессий",
+ "sidebarLogsAiUsage": "Аналитика использования",
+ "commandLogsAiUsage": "Аналитика использования",
+ "provider": "Провайдер",
+ "capability": "Возможность",
+ "model": "Модель",
+ "virtualApiKey": "Виртуальный API ключ",
+ "noVirtualApiKey": "Нет виртуального API ключа",
+ "stream": "Поток",
+ "streaming": "Потоковая передача",
+ "nonStreaming": "Не потоковая",
+ "statusCode": "Код статуса",
+ "aiSessionId": "ID сессии",
+ "aiSessionRequest": "Запрос",
+ "aiSessionResponse": "Ответ",
+ "aiSessionNoData": "Данные не захвачены",
+ "aiSessionCouldNotParse": "(сырое, не удалось разобрать транскрипт)",
+ "aiSessionLogTruncated": "Эта сессия была усечена перед хранением и может быть неполной.",
+ "aiSessionViewRaw": "Просмотреть сырой JSON",
+ "aiSessionViewChat": "Просмотреть чат",
+ "cost": "Стоимость",
+ "estimated": "Оценочная",
+ "tokenUsage": "Использование токенов",
+ "promptTokens": "Токены подсказок",
+ "cacheReadTokens": "Токены чтения кэша",
+ "cacheWriteTokens": "Токены записи в кэш",
+ "completionTokens": "Токены завершения",
+ "reasoningTokens": "Токены размышления",
+ "totalTokens": "Всего токенов",
"requestAnalyticsDescription": "Просмотреть подробную аналитику запроса для ресурсов в этой организации",
"logRetentionRequestLabel": "Сохранение HTTP Запросов Лога",
"logRetentionRequestDescription": "Как долго сохранять журналы запросов",
@@ -3081,6 +3564,8 @@
"logRetentionActionDescription": "Как долго хранить журналы действий",
"logRetentionConnectionLabel": "Сохранение журнала подключений",
"logRetentionConnectionDescription": "Как долго хранить журналы подключений",
+ "logRetentionAISessionsLabel": "Сохранение логов сессий AI шлюза",
+ "logRetentionAISessionsDescription": "Как долго сохранять логи сессий запросов/ответов шлюза AI",
"logRetentionDisabled": "Отключено",
"logRetention3Days": "3 дня",
"logRetention7Days": "7 дней",
@@ -3098,8 +3583,8 @@
"sourceAddress": "Адрес источника",
"destinationAddress": "Адрес назначения",
"duration": "Продолжительность",
- "licenseRequiredToUse": "Требуется лицензия на Enterprise Edition или Pangolin Cloud для использования этой функции. Забронируйте демонстрацию или пробный POC, чтобы узнать больше.",
- "ossEnterpriseEditionRequired": "Enterprise Edition требуется для использования этой функции. Эта функция также доступна в Pangolin Cloud. Забронируйте демонстрацию или пробный POC, чтобы узнать больше.",
+ "licenseRequiredToUse": "Лицензия Enterprise Edition требуется. Записаться на демо или пробную версию",
+ "ossEnterpriseEditionRequired": "Лицензия Enterprise Edition требуется. Записаться на демо или пробную версию",
"certResolver": "Резольвер сертификата",
"certResolverDescription": "Выберите резолвер сертификата, который будет использоваться для этого ресурса.",
"selectCertResolver": "Выберите резолвер сертификата",
@@ -3297,9 +3782,9 @@
"internalResourceFormMultiSiteRoutingHelp": "Выбор нескольких сайтов позволяет обеспечить отказоустойчивую маршрутизацию и фейловер для высокой доступности.",
"internalResourceFormMultiSiteRoutingHelpLearnMore": "Узнать больше",
"editInternalResourceDialogPortRestrictionsDescription": "Ограничьте доступ к определенным TCP/UDP-портам или разрешите/заблокируйте все порты.",
- "createInternalResourceDialogHttpConfiguration": "Конфигурация HTTP",
+ "createInternalResourceDialogHttpConfiguration": "Конфигурация домена",
"createInternalResourceDialogHttpConfigurationDescription": "Выберите домен, который клиенты будут использовать для доступа к этому ресурсу через HTTP или HTTPS.",
- "editInternalResourceDialogHttpConfiguration": "Конфигурация HTTP",
+ "editInternalResourceDialogHttpConfiguration": "Конфигурация домена",
"editInternalResourceDialogHttpConfigurationDescription": "Выберите домен, который клиенты будут использовать для доступа к этому ресурсу через HTTP или HTTPS.",
"editInternalResourceDialogTcp": "TCP",
"editInternalResourceDialogUdp": "UDP",
@@ -3735,7 +4220,18 @@
"resourceLauncherTcp": "TCP",
"resourceLauncherUdp": "UDP",
"resourceLauncherUnlabeled": "Без меток",
+ "resourceLauncherAiGateway": "AI Шлюз",
"resourceLauncherNoSite": "Без сайта",
+ "resourceLauncherAvailableModels": "Доступные модели",
+ "resourceLauncherAvailableModelsDescription": "Модели, которые вы можете использовать с этим шлюзом AI.",
+ "resourceLauncherAvailableModelsEmpty": "Нет доступных моделей для этого ресурса.",
+ "resourceLauncherAvailableModelsError": "Не удалось загрузить доступные модели.",
+ "resourceLauncherApiKeys": "API ключи",
+ "resourceLauncherApiKeysDescription": "Используйте свой идентификационный ключ или атрибутивный ключ для аутентификации с этим ресурсом.",
+ "resourceLauncherApiKeysIdentity": "Идентификационный ключ",
+ "resourceLauncherApiKeysManual": "Атрибутные ключи",
+ "resourceLauncherApiKeysEmpty": "Нет доступных API ключей для этого ресурса.",
+ "resourceLauncherApiKeysError": "Не удалось загрузить API ключи.",
"resourceLauncherNoResourcesInGroup": "Нет ресурсов в данной группе",
"resourceLauncherEmptyStateTitle": "Нет доступных ресурсов",
"resourceLauncherEmptyStateDescription": "У вас пока нет доступа ни к одному ресурсу. Обратитесь к администратору, чтобы запросить доступ.",
@@ -3762,9 +4258,9 @@
"resourceLauncherViewDeleteFailedDescription": "Не удалось удалить вид. Пожалуйста, попробуйте еще раз.",
"memberPortalPrevious": "Предыдущий",
"memberPortalNext": "Следующий",
- "httpSettings": "Настройки HTTP",
- "tcpSettings": "Настройки TCP",
- "udpSettings": "Настройки UDP",
+ "httpSettings": "HTTP",
+ "tcpSettings": "TCP",
+ "udpSettings": "UDP",
"sshTitle": "SSH",
"sshConnectingDescription": "Установление защищенного соединения…",
"sshConnecting": "Подключение…",