From 08df4b93aace9fbb3391dbaf780f7871ca6738d2 Mon Sep 17 00:00:00 2001 From: Owen Schwartz Date: Fri, 12 Jun 2026 13:53:54 -0700 Subject: [PATCH] New translations en-us.json (Russian) [ci skip] --- messages/ru-RU.json | 230 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 187 insertions(+), 43 deletions(-) diff --git a/messages/ru-RU.json b/messages/ru-RU.json index 702525a2f..cacc4b895 100644 --- a/messages/ru-RU.json +++ b/messages/ru-RU.json @@ -101,6 +101,8 @@ "sitesTableViewPrivateResources": "Просмотр частных ресурсов", "siteInstallNewt": "Установить Newt", "siteInstallNewtDescription": "Запустите Newt в вашей системе", + "siteInstallKubernetesDocsDescription": "Для получения дополнительной информации об установке Kubernetes, см. docs.pangolin.net/manage/sites/install-kubernetes.", + "siteInstallAdvantechDocsDescription": "Для инструкций по установке модема Advantech, см. docs.pangolin.net/manage/sites/install-advantech.", "WgConfiguration": "Конфигурация WireGuard", "WgConfigurationDescription": "Используйте следующую конфигурацию для подключения к сети", "operatingSystem": "Операционная система", @@ -157,7 +159,7 @@ "shareDeleted": "Ссылка удалена", "shareDeletedDescription": "Ссылка была успешно удалена", "shareDelete": "Удалить общую ссылку", - "shareDeleteConfirm": "Подтвердите удаление общей ссылки", + "shareDeleteConfirm": "Подтвердить удаление общей ссылки", "shareQuestionRemove": "Вы уверены, что хотите удалить эту общую ссылку?", "shareMessageRemove": "После удаления ссылка перестанет работать, и все, кто ее использует, потеряют доступ к ресурсу.", "shareTokenDescription": "Токен доступа может быть передан двумя способами: как параметр запроса или в заголовках запроса. Они должны быть переданы от клиента по каждому запросу для аутентифицированного доступа.", @@ -177,6 +179,7 @@ "shareCreateDescription": "Любой, у кого есть эта ссылка, может получить доступ к ресурсу", "shareTitleOptional": "Заголовок (необязательно)", "sharePathOptional": "Путь (необязательно)", + "sharePathDescription": "Ссылка перенаправит пользователей на этот путь после аутентификации.", "expireIn": "Срок действия", "neverExpire": "Бессрочный доступ", "shareExpireDescription": "Срок действия - это период, в течение которого ссылка будет работать и предоставлять доступ к ресурсу. После этого времени ссылка перестанет работать, и пользователи, использовавшие эту ссылку, потеряют доступ к ресурсу.", @@ -200,8 +203,8 @@ "shareErrorSelectResource": "Пожалуйста, выберите ресурс", "proxyResourceTitle": "Управление публичными ресурсами", "proxyResourceDescription": "Создание и управление ресурсами, которые доступны через веб-браузер", - "publicResourcesBannerTitle": "Общедоступный доступ через веб", - "publicResourcesBannerDescription": "Общедоступные ресурсы - это прокси-по HTTPS или TCP/UDP, доступные любому пользователю в Интернете через веб-браузер. В отличие от частных ресурсов, они не требуют программного обеспечения на стороне клиента и могут включать политики доступа на основе идентификации и контекста.", + "publicResourcesBannerTitle": "Веб-доступ к публичным ресурсам", + "publicResourcesBannerDescription": "Публичные ресурсы — это HTTPS-прокси, доступные для любого пользователя Интернета через веб-браузер. В отличие от частных ресурсов, они не требуют программного обеспечения на стороне клиента и могут включать в себя политики доступа, учитывающие идентичность и контекст.", "clientResourceTitle": "Управление приватными ресурсами", "clientResourceDescription": "Создание и управление ресурсами, которые доступны только через подключенный клиент", "privateResourcesBannerTitle": "Частный доступ с нулевым доверием", @@ -209,15 +212,19 @@ "resourcesSearch": "Поиск ресурсов...", "resourceAdd": "Добавить ресурс", "resourceErrorDelte": "Ошибка при удалении ресурса", - "resourcePoliciesTitle": "Управление политиками ресурсов", - "resourcePoliciesAttachedResourcesColumnTitle": "Прикрепленные ресурсы", + "resourcePoliciesBannerTitle": "Повторное использование правил аутентификации и доступа", + "resourcePoliciesBannerDescription": "Политики общих ресурсов позволяют один раз определить методы аутентификации и правила доступа, а затем прикреплять их к нескольким публичным ресурсам. Когда вы обновляете политику, каждое связанное с ней наследует изменение автоматически.", + "resourcePoliciesBannerButtonText": "Узнать больше", + "resourcePoliciesTitle": "Управление политиками публичных ресурсов", + "resourcePoliciesAttachedResourcesColumnTitle": "Ресурсы", "resourcePoliciesAttachedResources": "{count} ресурс(ов)", + "resourcePoliciesAttachedResourcesCount": "{count, plural, one {# ресурс} few {# ресурса} many {# ресурсов} other {# ресурсов}}", "resourcePoliciesAttachedResourcesEmpty": "нет ресурсов", - "resourcePoliciesDescription": "Создавайте и управляйте политиками аутентификации для контроля доступа к вашим ресурсам", + "resourcePoliciesDescription": "Создание и управление политиками аутентификации для контроля доступа к вашим публичным ресурсам", "resourcePoliciesSearch": "Поиск политик...", "resourcePoliciesAdd": "Добавить политику", "resourcePoliciesDefaultBadgeText": "Политика по умолчанию", - "resourcePoliciesCreate": "Создать политику ресурса", + "resourcePoliciesCreate": "Создать политику публичного ресурса", "resourcePoliciesCreateDescription": "Следуйте шагам ниже, чтобы создать новую политику", "resourcePolicyName": "Имя политики", "resourcePolicyNameDescription": "Дайте этой политике имя для идентификации ее в ваших ресурсах", @@ -274,7 +281,7 @@ "back": "Назад", "cancel": "Отмена", "resourceConfig": "Фрагменты конфигурации", - "resourceConfigDescription": "Скопируйте и вставьте эти сниппеты для настройки TCP/UDP ресурса", + "resourceConfigDescription": "Скопируйте и вставьте эти фрагменты конфигурации для настройки ресурса TCP/UDP.", "resourceAddEntrypoints": "Traefik: Добавить точки входа", "resourceExposePorts": "Gerbil: Открыть порты в Docker Compose", "resourceLearnRaw": "Узнайте, как настроить TCP/UDP-ресурсы", @@ -287,6 +294,8 @@ "labelDelete": "Удалить метку", "labelAdd": "Добавить метку", "labelCreateSuccessMessage": "Метка успешно создана", + "labelDuplicateError": "Повторяющаяся метка", + "labelDuplicateErrorDescription": "Метка с таким именем уже существует.", "labelEditSuccessMessage": "Метка успешно изменена", "labelNameField": "Название метки", "labelColorField": "Цвет метки", @@ -311,7 +320,7 @@ "rules": "Правила", "resourceSettingDescription": "Настройка параметров ресурса", "resourceSetting": "Настройки {resourceName}", - "resourcePolicySettingDescription": "Настройка параметров политики ресурса", + "resourcePolicySettingDescription": "Настройте параметры этой политики публичного ресурса", "resourcePolicySetting": "Настройки {policyName}", "alwaysAllow": "Авторизация байпасса", "alwaysDeny": "Блокировать доступ", @@ -719,7 +728,7 @@ "targetSubmit": "Добавить цель", "targetNoOne": "Этот ресурс не имеет никаких целей. Добавьте цель для настройки, где отправлять запросы в бэкэнд.", "targetNoOneDescription": "Добавление более одной цели выше включит балансировку нагрузки.", - "targetsSubmit": "Сохранить цели", + "targetsSubmit": "Сохранить настройки", "addTarget": "Добавить цель", "proxyMultiSiteRoundRobinNodeHelp": "Роутинг с балансировкой нагрузки не будет работать между сайтами, не подключенными к одному и тому же узлу, но подмена будет работать.", "targetErrorInvalidIp": "Неверный IP-адрес", @@ -753,11 +762,11 @@ "rulesErrorDuplicate": "Дублирующее правило", "rulesErrorDuplicateDescription": "Правило с такими настройками уже существует", "rulesErrorInvalidIpAddressRange": "Неверный CIDR", - "rulesErrorInvalidIpAddressRangeDescription": "Пожалуйста, введите корректное значение CIDR", - "rulesErrorInvalidUrl": "Неверный URL путь", - "rulesErrorInvalidUrlDescription": "Пожалуйста, введите корректное значение URL пути", - "rulesErrorInvalidIpAddress": "Неверный IP", - "rulesErrorInvalidIpAddressDescription": "Пожалуйста, введите корректный IP адрес", + "rulesErrorInvalidIpAddressRangeDescription": "Введите действительный диапазон CIDR (например, 10.0.0.0/8).", + "rulesErrorInvalidUrl": "Неверный путь", + "rulesErrorInvalidUrlDescription": "Введите действительный URL-путь или шаблон (например, /api/*).", + "rulesErrorInvalidIpAddress": "Недействительный IP адрес", + "rulesErrorInvalidIpAddressDescription": "Введите действительный адрес IPv4 или IPv6.", "rulesErrorUpdate": "Не удалось обновить правила", "rulesErrorUpdateDescription": "Произошла ошибка при обновлении правил", "rulesUpdated": "Включить правила", @@ -766,14 +775,23 @@ "rulesMatchIpAddress": "Введите IP адрес (например, 103.21.244.12)", "rulesMatchUrl": "Введите URL путь или шаблон (например, /api/v1/todos или /api/v1/*)", "rulesErrorInvalidPriority": "Неверный приоритет", - "rulesErrorInvalidPriorityDescription": "Пожалуйста, введите корректный приоритет", - "rulesErrorDuplicatePriority": "Дублирующие приоритеты", - "rulesErrorDuplicatePriorityDescription": "Пожалуйста, введите уникальные приоритеты", + "rulesErrorInvalidPriorityDescription": "Введите целое число 1 или больше.", + "rulesErrorDuplicatePriority": "Повторяющиеся приоритеты", + "rulesErrorDuplicatePriorityDescription": "Каждое правило должно иметь уникальный номер приоритета.", + "rulesErrorValidation": "Неверные правила", + "rulesErrorValidationRuleDescription": "Правило {ruleNumber}: {message}", + "rulesErrorInvalidMatchTypeDescription": "Выберите действительный тип совпадения (путь, IP, CIDR, страна, регион или ASN).", + "rulesErrorValueRequired": "Введите значение для этого правила.", + "rulesErrorInvalidCountry": "Недействительная страна", + "rulesErrorInvalidCountryDescription": "Выберите правильную страну.", + "rulesErrorInvalidAsn": "Недействительный ASN", + "rulesErrorInvalidAsnDescription": "Введите действительный ASN (например, AS15169).", "ruleUpdated": "Правила обновлены", "ruleUpdatedDescription": "Правила успешно обновлены", "ruleErrorUpdate": "Операция не удалась", "ruleErrorUpdateDescription": "Произошла ошибка во время операции сохранения", "rulesPriority": "Приоритет", + "rulesReorderDragHandle": "Перетащите, чтобы изменить приоритет правила", "rulesAction": "Действие", "rulesMatchType": "Тип совпадения", "value": "Значение", @@ -792,7 +810,7 @@ "rulesResource": "Конфигурация правил ресурса", "rulesResourceDescription": "Настройка правил для контроля доступа к ресурсу", "ruleSubmit": "Добавить правило", - "rulesNoOne": "Нет правил. Добавьте правило с помощью формы.", + "rulesNoOne": "Пока нет правил.", "rulesOrder": "Правила оцениваются по приоритету в возрастающем порядке.", "rulesSubmit": "Сохранить правила", "policyErrorCreate": "Ошибка создания политики", @@ -803,7 +821,48 @@ "policyErrorUpdateMessageDescription": "Произошла неожиданная ошибка", "policyCreatedSuccess": "Политика ресурса успешно создана", "policyUpdatedSuccess": "Политика ресурса успешно обновлена", - "authMethodsSave": "Сохранить методы аутентификации", + "authMethodsSave": "Сохранить настройки", + "policyAuthStackTitle": "Аутентификация", + "policyAuthStackDescription": "Контроль, какие методы аутентификации требуются для доступа к этому ресурсу", + "policyAuthOrLogicTitle": "Несколько методов аутентификации активны", + "policyAuthOrLogicBanner": "Посетители могут аутентифицироваться, используя любой из активных методов ниже. Им не нужно выполнять все.", + "policyAuthMethodActive": "Активно", + "policyAuthMethodOff": "Отключено", + "policyAuthSsoTitle": "Платформа SSO", + "policyAuthSsoDescription": "Требуется войти через поставщика удостоверений вашей организации", + "policyAuthSsoSummary": "{idp} · {users} пользователей, {roles} ролей", + "policyAuthSsoDefaultIdp": "Поставщик по умолчанию", + "policyAuthAddDefaultIdentityProvider": "Добавить поставщика удостоверений по умолчанию", + "policyAuthOtherMethodsTitle": "Другие методы", + "policyAuthOtherMethodsDescription": "Дополнительные методы, которые посетители могут использовать вместо или вместе с платформой SSO", + "policyAuthPasscodeTitle": "Пароль", + "policyAuthPasscodeDescription": "Требуется общий буквенно-цифровой пароль для доступа к ресурсу", + "policyAuthPasscodeSummary": "Пароль установлен", + "policyAuthPincodeTitle": "ПИН-код", + "policyAuthPincodeDescription": "Краткий числовой код, необходимый для доступа к ресурсу", + "policyAuthPincodeSummary": "Установлен 6-значный PIN-код", + "policyAuthEmailTitle": "Белый список email", + "policyAuthEmailDescription": "Разрешить перечисленные email-адреса с одноразовыми паролями", + "policyAuthEmailSummary": "Разрешено адресов: {count}", + "policyAuthEmailOtpCallout": "Включение белого списка email отправляет одноразовый пароль на email посетителя при входе.", + "policyAuthHeaderAuthTitle": "Базовая аутентификация заголовка", + "policyAuthHeaderAuthDescription": "Проверка пользовательского имени и значения HTTP-заголовка для каждого запроса", + "policyAuthHeaderAuthSummary": "Заголовок настроен", + "policyAuthHeaderName": "Имя заголовка", + "policyAuthHeaderValue": "Ожидаемое значение", + "policyAuthSetPasscode": "Установить пароль", + "policyAuthSetPincode": "Установить ПИН-код", + "policyAuthSetEmailWhitelist": "Установить белый список email", + "policyAuthSetHeaderAuth": "Установить базовую аутентификацию заголовка", + "policyAccessRulesTitle": "Правила доступа", + "policyAccessRulesEnableDescription": "При включении правила оцениваются в порядке убывания до тех пор, пока одно из них не оценивается как истинное.", + "policyAccessRulesFirstMatch": "Правила оцениваются сверху вниз. Первое совпадающее правило определяет результат.", + "policyAccessRulesHowItWorks": "Правила сопоставляют запросы по пути, IP-адресу, местоположению или другим критериям. Каждое правило применяет действие: обойти аутентификацию, заблокировать доступ или передать для аутентификации. Если правило не подписано, трафик продолжается для аутентификации.", + "policyAccessRulesFallthroughOff": "Когда правила отключены, весь трафик проходит для аутентификации.", + "policyAccessRulesFallthroughOn": "Когда правило не совпадает, трафик проходит для аутентификации.", + "rulesPlaceholderCidr": "10.0.0.0/8", + "rulesPlaceholderPath": "/admin/*", + "rulesPlaceholderGeo": "RU, KP", "rulesSave": "Сохранить правила", "resourceErrorCreate": "Ошибка при создании ресурса", "resourceErrorCreateDescription": "Произошла ошибка при создании ресурса", @@ -916,10 +975,18 @@ "resourceRoleDescription": "Администраторы всегда имеют доступ к этому ресурсу.", "resourcePolicySelectTitle": "Политика доступа к ресурсам", "resourcePolicySelectDescription": "Выберите тип политики ресурса для аутентификации", + "resourcePolicyTypeLabel": "Тип политики", + "resourcePolicyLabel": "Политика ресурса", "resourcePolicyInline": "Политика ресурса на месте", "resourcePolicyInlineDescription": "Политика доступа ограничена только этим ресурсом", "resourcePolicyShared": "Общая политика ресурса", - "resourcePolicySharedDescription": "Этот ресурс использует общую политику. Настройки уровня политики (методы аутентификации, список разрешенных email) заблокированы. Вы можете добавить правила, роли и пользователей, специфичные для ресурса, ниже.", + "resourcePolicySharedDescription": "Этот ресурс использует общую политику.", + "sharedPolicy": "Общая политика", + "sharedPolicyNoneDescription": "У этого ресурса есть своя политика.", + "resourceSharedPolicyOwnDescription": "У этого ресурса есть собственные средства управления аутентификацией и правилами доступа.", + "resourceSharedPolicyInheritedDescription": "Этот ресурс наследует от {policyName}.", + "resourceSharedPolicyAuthenticationNotice": "Этот ресурс использует общую политику. Некоторые настройки аутентификации можно изменить в этом ресурсе, чтобы добавить их в политику. Чтобы изменить основную политику, отредактируйте {policyName}.", + "resourceSharedPolicyRulesNotice": "Этот ресурс использует общую политику. Некоторые правила доступа могут быть отредактированы для этого ресурса. Чтобы изменить основную политику, вы должны отредактировать {policyName}.", "resourceUsersRoles": "Контроль доступа", "resourceUsersRolesDescription": "Выберите пользователей и роли с доступом к этому ресурсу", "resourceUsersRolesSubmit": "Сохранить контроль доступа", @@ -944,7 +1011,14 @@ "resourceVisibilityTitle": "Видимость", "resourceVisibilityTitleDescription": "Включите или отключите видимость ресурса", "resourceGeneral": "Общие настройки", - "resourceGeneralDescription": "Настройте общие параметры этого ресурса", + "resourceGeneralDescription": "Настройте имя, адрес и политику доступа для этого ресурса.", + "resourceGeneralDetailsSubsection": "Детали ресурса", + "resourceGeneralDetailsSubsectionDescription": "Установите отображаемое имя, идентификатор и публично доступный домен для этого ресурса.", + "resourceGeneralDetailsSubsectionPortDescription": "Установите отображаемое имя, идентификатор и публичный порт для этого ресурса.", + "resourceGeneralPublicAddressSubsection": "Публичный адрес", + "resourceGeneralPublicAddressSubsectionDescription": "Настройте, как пользователи будут получать доступ к этому ресурсу.", + "resourceGeneralAuthenticationAccessSubsection": "Аутентификация и доступ", + "resourceGeneralAuthenticationAccessSubsectionDescription": "Выберите, будет ли этот ресурс использовать собственную политику или наследовать от общей политики.", "resourceEnable": "Ресурс активен", "resourceTransfer": "Перенести ресурс", "resourceTransferDescription": "Перенесите этот ресурс на другой сайт", @@ -1220,11 +1294,14 @@ "addLabels": "Добавить метки", "siteLabelsTab": "Метки", "siteLabelsDescription": "Управляйте метками, связанными с этим сайтом.", - "labelsNotFound": "Метки не найдены", + "labelsNotFound": "Метки не найдены.", + "labelsEmptyCreateHint": "Начните печатать выше, чтобы создать метку.", "labelSearch": "Поиск меток", + "labelSearchOrCreate": "Найти или создать метку", "accessLabelFilterCount": "{count, plural, one {# метка} few {# метки} many {# меток} other {# меток}}", "labelOverflowCount": "+{count, plural, one {# метка} few {# метки} many {# меток} other {# меток}}", "accessLabelFilterClear": "Очистить фильтры меток", + "accessFilterClear": "Очистить фильтры", "selectColor": "Выберите цвет", "createNewLabel": "Создать новую метку организации \"{label}\"", "inviteInvalidDescription": "Ссылка на приглашение недействительна.", @@ -1461,8 +1538,8 @@ "sidebarResources": "Ресурсы", "sidebarProxyResources": "Публичный", "sidebarClientResources": "Приватный", - "sidebarPolicies": "Политики", - "sidebarResourcePolicies": "Ресурсы", + "sidebarPolicies": "Общие политики", + "sidebarResourcePolicies": "Публичные ресурсы", "sidebarAccessControl": "Контроль доступа", "sidebarLogsAndAnalytics": "Журналы и аналитика", "sidebarTeam": "Команда", @@ -1470,7 +1547,7 @@ "sidebarAdmin": "Админ", "sidebarInvitations": "Приглашения", "sidebarRoles": "Роли", - "sidebarShareableLinks": "Ссылки", + "sidebarShareableLinks": "Общие ссылки", "sidebarApiKeys": "API ключи", "sidebarProvisioning": "Подготовка", "sidebarSettings": "Настройки", @@ -1647,7 +1724,7 @@ "standaloneHcFilterResourceIdFallback": "Ресурс {id}", "blueprints": "Чертежи", "blueprintsLog": "Журнал чертежей", - "blueprintsDescription": "Просмотр прошлых применений чертежа и их результатов", + "blueprintsDescription": "Просмотреть предыдущие приложения с чертежами и их результаты или применить новый чертеж", "blueprintAdd": "Добавить чертёж", "blueprintGoBack": "Посмотреть все чертежи", "blueprintCreate": "Создать чертёж", @@ -1667,10 +1744,10 @@ "enableDockerSocket": "Включить чертёж Docker", "enableDockerSocketDescription": "Включить сбор меток Docker Socket для чертежей. Путь сокета должен быть предоставлен подключателю сайта. Прочтите о том, как это работает, в документации.", "newtAutoUpdate": "Включить автообновление сайта", - "newtAutoUpdateDescription": "При включении, коннекторы сайта будут автоматически обновляться до последней версии, когда доступен новый выпуск.", + "newtAutoUpdateDescription": "При включении разъемы сайта автоматически загрузят последнюю версию и перезапустятся. Это можно переопределить на уровне каждого сайта.", "siteAutoUpdate": "Автообновление сайта", "siteAutoUpdateLabel": "Включить автообновление", - "siteAutoUpdateDescription": "Контролировать, будет ли коннектор этого сайта автоматически загружать последнюю версию.", + "siteAutoUpdateDescription": "При включении разъем этого сайта автоматически скачает последнюю версию и перезапустится.", "siteAutoUpdateOrgDefault": "Значение по умолчанию для организации: {state}", "siteAutoUpdateOverriding": "Переопределение настройки организации", "siteAutoUpdateResetToOrg": "Сброс до значения по умолчанию для организации", @@ -1768,9 +1845,9 @@ "accountSetupSuccess": "Настройка аккаунта завершена! Добро пожаловать в Pangolin!", "documentation": "Документация", "saveAllSettings": "Сохранить все настройки", - "saveResourceTargets": "Сохранить цели", - "saveResourceHttp": "Сохранить настройки прокси", - "saveProxyProtocol": "Сохранить настройки прокси-протокола", + "saveResourceTargets": "Сохранить настройки", + "saveResourceHttp": "Сохранить настройки", + "saveProxyProtocol": "Сохранить настройки", "settingsUpdated": "Настройки обновлены", "settingsUpdatedDescription": "Настройки успешно обновлены", "settingsErrorUpdate": "Не удалось обновить настройки", @@ -2027,13 +2104,13 @@ "healthCheckUnknown": "Неизвестно", "healthCheck": "Проверка здоровья", "configureHealthCheck": "Настроить проверку здоровья", - "configureHealthCheckDescription": "Настройте мониторинг состояния для {target}", + "configureHealthCheckDescription": "Настройте мониторинг вашего ресурса, чтобы обеспечить его постоянную доступность", "enableHealthChecks": "Включить проверки здоровья", "healthCheckDisabledStateDescription": "Когда отключен, сайт не будет выполнять проверки состояния и состояние будет считаться неизвестным.", "enableHealthChecksDescription": "Мониторинг здоровья этой цели. При необходимости можно контролировать другую конечную точку.", "healthScheme": "Метод", "healthSelectScheme": "Выберите метод", - "healthCheckPortInvalid": "Порт проверки здоровья должен быть от 1 до 65535", + "healthCheckPortInvalid": "Порт должен быть в диапазоне от 1 до 65535", "healthCheckPath": "Путь", "healthHostname": "IP / хост", "healthPort": "Порт", @@ -2046,6 +2123,7 @@ "requireDeviceApproval": "Требовать подтверждения устройства", "requireDeviceApprovalDescription": "Пользователям с этой ролью нужны новые устройства, одобренные администратором, прежде чем они смогут подключаться и получать доступ к ресурсам.", "sshSettings": "Настройки SSH", + "sshAccess": "Доступ по SSH", "rdpSettings": "Настройки RDP", "vncSettings": "Настройки VNC", "sshServer": "SSH сервер", @@ -2072,8 +2150,13 @@ "sshDaemonDisclaimer": "Убедитесь, что целевой хост правильно настроен для запуска демона аутентификации перед завершением этой настройки, иначе предоставление не удастся.", "sshDaemonPort": "Порт демона", "sshServerDestination": "Пункт назначения сервера", - "sshServerDestinationDescription": "Настройте пункт назначения и порт SSH-сервера", + "sshServerDestinationDescription": "Настройте адрес сервера SSH", "destination": "Пункт назначения", + "destinationRequired": "Требуется указание пункта назначения.", + "domainRequired": "Требуется домен.", + "proxyPortRequired": "Требуется порт.", + "invalidPathConfiguration": "Недействительная конфигурация пути.", + "invalidRewritePathConfiguration": "Недействительная конфигурация пути переписывания.", "bgTargetMultiSiteDisclaimer": "Выбор нескольких сайтов включает в себя устойчивую маршрутизацию и автоматический отказ для обеспечения высокой доступности.", "roleAllowSsh": "Разрешить SSH", "roleAllowSshAllow": "Разрешить", @@ -2088,10 +2171,25 @@ "sshSudoModeCommandsDescription": "Пользователь может запускать только указанные команды с помощью sudo.", "sshSudo": "Разрешить sudo", "sshSudoCommands": "Sudo Команды", - "sshSudoCommandsDescription": "Список команд, которые пользователь может выполнять с sudo, через запятую. Должны использоваться абсолютные пути.", + "sshSudoCommandsDescription": "Список команд, которые пользователь может запускать с sudo, разделенный запятыми, пробелами или новыми строками. Должны использоваться абсолютные пути.", "sshCreateHomeDir": "Создать домашний каталог", "sshUnixGroups": "Unix группы", - "sshUnixGroupsDescription": "Группы Unix через запятую, чтобы добавить пользователя на целевой хост.", + "sshUnixGroupsDescription": "Группы Unix, к которым пользователь добавляется на целевом хосте, разделяются запятыми, пробелами или новыми строками.", + "roleTextFieldPlaceholder": "Введите значения или перетащите файл .txt или .csv", + "roleTextImportTitle": "Импорт из файла", + "roleTextImportDescription": "Импортирую {fileName} в {fieldLabel}.", + "roleTextImportSkipHeader": "Пропустить первую строку (заголовок)", + "roleTextImportOverride": "Заменить существующее", + "roleTextImportAppend": "Добавить к существующему", + "roleTextImportMode": "Режим импорта", + "roleTextImportPreview": "Предпросмотр", + "roleTextImportItemCount": "{count, plural, =0 {Нет элементов для импорта} one {# элемент для импорта} few {# элемента для импорта} many {# элементов для импорта} other {# элементов для импорта}}", + "roleTextImportTotalCount": "{existing} существующих + {imported} импортированных = {total} всего", + "roleTextImportConfirm": "Импортировать", + "roleTextImportInvalidFile": "Неподдерживаемый тип файла", + "roleTextImportInvalidFileDescription": "Поддерживаются только файлы .txt и .csv.", + "roleTextImportEmpty": "Элементы в файле не найдены", + "roleTextImportEmptyDescription": "Файл не содержит элементов, которые можно импортировать.", "retryAttempts": "Количество попыток повторного запроса", "expectedResponseCodes": "Ожидаемые коды ответов", "expectedResponseCodesDescription": "HTTP-код состояния, указывающий на здоровое состояние. Если оставить пустым, 200-300 считается здоровым.", @@ -2875,9 +2973,10 @@ "enableProxyProtocol": "Включить Прокси Протокол", "proxyProtocolInfo": "Сохранять IP-адреса клиента для backend'ов TCP", "proxyProtocolVersion": "Версия протокола прокси", - "version1": " Версия 1 (рекомендуется)", + "version1": "Версия 1 (рекомендуется)", "version2": "Версия 2", - "versionDescription": "Версия 1 основана на тексте и широко поддерживается. Версия 2 является бинарной и более эффективной, но менее совместимой.", + "version1Description": "Основано на тексте и широко поддерживается. Убедитесь, что транспорт сервера добавлен в динамическую конфигурацию.", + "version2Description": "Бинарная и более эффективная, но менее совместимая. Убедитесь, что транспорт сервера добавлен в динамическую конфигурацию.", "warning": "Предупреждение", "proxyProtocolWarning": "Бэкэнд приложение должно быть настроено на принятие соединений прокси-протокола. Если ваш бэкэнд не поддерживает Прокси-протокол, то включение этой опции прервет все подключения, поэтому включите это только если вы знаете, что вы делаете. Обязательно настройте вашего бэкэнда на доверие заголовкам Proxy Protocol от Traefik.", "restarting": "Перезапуск...", @@ -3034,7 +3133,7 @@ "enterConfirmation": "Введите подтверждение", "blueprintViewDetails": "Подробности", "defaultIdentityProvider": "Поставщик удостоверений по умолчанию", - "defaultIdentityProviderDescription": "Когда выбран поставщик идентификации по умолчанию, пользователь будет автоматически перенаправлен на провайдер для аутентификации.", + "defaultIdentityProviderDescription": "Пользователь будет автоматически перенаправлен к этому поставщику удостоверений для аутентификации.", "editInternalResourceDialogNetworkSettings": "Настройки сети", "editInternalResourceDialogAccessPolicy": "Политика доступа", "editInternalResourceDialogAddRoles": "Добавить роли", @@ -3075,6 +3174,7 @@ "maintenanceModeType": "Тип режима обслуживания", "showMaintenancePage": "Показать страницу обслуживания посетителям", "enableMaintenanceMode": "Включить режим обслуживания", + "enableMaintenanceModeDescription": "Когда включено, посетители увидят страницу обслуживания вместо вашего ресурса.", "automatic": "Автоматический", "automaticModeDescription": "Показывать страницу обслуживания только когда все цели бэкэнда недоступны или неисправны. Ваш ресурс продолжит работать нормально, пока хотя бы одна цель здорова.", "forced": "Принудительно", @@ -3082,6 +3182,8 @@ "warning:": "Предупреждение:", "forcedeModeWarning": "Весь трафик будет направлен на страницу обслуживания. Ваши бекэнд ресурсы не будут получать никакие запросы.", "pageTitle": "Заголовок страницы", + "maintenancePageContentSubsection": "Содержимое страницы", + "maintenancePageContentSubsectionDescription": "Настройте содержимое, отображаемое на странице обслуживания", "pageTitleDescription": "Основной заголовок, отображаемый на странице обслуживания", "maintenancePageMessage": "Сообщение об обслуживании", "maintenancePageMessagePlaceholder": "Мы скоро вернемся! Наш сайт в настоящее время проходит плановое техническое обслуживание.", @@ -3346,6 +3448,8 @@ "idpUnassociateQuestion": "Вы уверены, что хотите рассоединить этого поставщика удостоверений с этой организацией?", "idpUnassociateDescription": "Все пользователи, связанные с этим поставщиком удостоверений, будут удалены из этой организации, но поставщик удостоверений будет продолжать существовать для других связанных организаций.", "idpUnassociateConfirm": "Подтвердите рассоединение поставщика удостоверений", + "idpConfirmDeleteAndRemoveMeFromOrg": "УДАЛИТЬ И ИЗВЛЕЧЬ МЕНЯ ИЗ ОРГАНИЗАЦИИ", + "idpUnassociateAndRemoveMeFromOrg": "РАЗОРВАТЬ СВЯЗЬ И УДАЛИТЬ МЕНЯ ИЗ ОРГАНИЗАЦИИ", "idpUnassociateWarning": "Это не может быть отменено для этой организации.", "idpUnassociatedDescription": "Поставщик удостоверений успешно рассоединен с этой организацией", "idpUnassociateMenu": "Рассоединить", @@ -3439,18 +3543,58 @@ "sshConnecting": "Подключение…", "sshInitializing": "Инициализация…", "sshSignInTitle": "Вход в SSH", - "sshSignInDescription": "Введите свои учетные данные SSH", + "sshSignInDescription": "Введите свои учетные данные SSH для подключения", "sshPasswordTab": "Пароль", "sshPrivateKeyTab": "Закрытый ключ", "sshPrivateKeyField": "Закрытый ключ", "sshPrivateKeyDisclaimer": "Ваш закрытый ключ не хранится и не виден для Pangolin. Вместо этого вы можете использовать краткосрочные сертификаты для бесшовной аутентификации с использованием вашей текущей идентификации Pangolin.", "sshLearnMore": "Узнать больше", "sshPrivateKeyFile": "Файл закрытого ключа", - "sshAuthenticate": "Аутентификация", + "sshAuthenticate": "Подключиться", "sshTerminate": "Завершить", "sshPoweredBy": "Разработано", "sshErrorNoTarget": "Цель не указана", "sshErrorWebSocket": "Подключение WebSocket не удалось", "sshErrorAuthFailed": "Ошибка аутентификации", - "sshErrorConnectionClosed": "Подключение закрыто до завершения аутентификации" + "sshErrorConnectionClosed": "Подключение закрыто до завершения аутентификации", + "sitePangolinSshDescription": "Разрешить доступ по SSH к ресурсам на этом сайте. Это можно изменить позже.", + "browserGatewayNoResourceForDomain": "Ресурс для этого домена не найден", + "browserGatewayNoTarget": "Нет цели", + "browserGatewayConnect": "Подключиться", + "browserGatewayCtrlAltDel": "Ctrl+Alt+Del", + "sshErrorSignKeyFailed": "Не удалось подписать ключ SSH для аутентификации через PAM push. Проверьте, вошли ли вы как пользователь?", + "sshTerminalError": "Ошибка: {error}", + "sshConnectionClosedCode": "Соединение закрыто (код {code})", + "sshPrivateKeyPlaceholder": "-----НАЧАЛО ЛИЧНОГО КЛЮЧА OPENSSH-----", + "sshPrivateKeyRequired": "Требуется личный ключ", + "vncTitle": "VNC", + "vncSignInDescription": "Введите пароль VNC для подключения", + "vncPasswordOptional": "Пароль (необязательно)", + "vncNoResourceTarget": "Отсутствует целевой ресурс", + "vncFailedToLoadNovnc": "Не удалось загрузить noVNC", + "vncAuthFailedStatus": "Статус {status}", + "vncPasteClipboard": "Вставить из буфера обмена", + "rdpTitle": "RDP", + "rdpSignInTitle": "Вход в удаленный рабочий стол", + "rdpSignInDescription": "Введите учетные данные Windows для подключения", + "rdpLoadingModule": "Загрузка модуля...", + "rdpFailedToLoadModule": "Не удалось загрузить модуль RDP", + "rdpNotReady": "Не готово", + "rdpModuleInitializing": "Модуль RDP все еще инициализируется", + "rdpDownloadingFiles": "Загрузка {count} файлов с удалённого сервера…", + "rdpDownloadFailed": "Ошибка загрузки: {fileName}", + "rdpUploaded": "Загружено: {fileName}", + "rdpNoConnectionTarget": "Доступная цель подключения отсутствует", + "rdpConnectionFailed": "Ошибка соединения", + "rdpFit": "Подгонка", + "rdpFull": "Полный", + "rdpReal": "Настоящий", + "rdpMeta": "Метаданные", + "rdpUploadFiles": "Загрузить файлы", + "rdpFilesReadyToPaste": "Файлы готовы к вставке", + "rdpFilesReadyToPasteDescription": "{count, plural, one {# файл скопирован в удалённый буфер обмена — нажмите Ctrl+V на удалённом рабочем столе, чтобы вставить.} few {# файла скопированы в удалённый буфер обмена — нажмите Ctrl+V на удалённом рабочем столе, чтобы вставить.} many {# файлов скопированы в удалённый буфер обмена — нажмите Ctrl+V на удалённом рабочем столе, чтобы вставить.} other {# файла скопированы в удалённый буфер обмена — нажмите Ctrl+V на удалённом рабочем столе, чтобы вставить.}}", + "rdpUploadFailed": "Ошибка загрузки", + "rdpUnicodeKeyboardMode": "Режим клавиатуры Unicode", + "sessionToolbarShow": "Показать панель инструментов", + "sessionToolbarHide": "Скрыть панель инструментов" }