From d78c226734f2e2bfb97af74e0184c7f494f96b77 Mon Sep 17 00:00:00 2001 From: Owen Schwartz Date: Mon, 17 Aug 2026 18:29:30 -0400 Subject: [PATCH] New translations en-us.json (Russian) [ci skip] --- messages/ru-RU.json | 522 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 509 insertions(+), 13 deletions(-) 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": "Подключение…",