From 32898eb5d3eb82a843ca22831f21ce6020b790fd Mon Sep 17 00:00:00 2001 From: Owen Schwartz Date: Sat, 20 Dec 2025 16:26:31 -0500 Subject: [PATCH] New translations en-us.json (Russian) --- messages/ru-RU.json | 145 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 120 insertions(+), 25 deletions(-) diff --git a/messages/ru-RU.json b/messages/ru-RU.json index d687b783..6a1f2b94 100644 --- a/messages/ru-RU.json +++ b/messages/ru-RU.json @@ -1,5 +1,7 @@ { "setupCreate": "Создать организацию, сайт и ресурсы", + "headerAuthCompatibilityInfo": "Enable this to force a 401 Unauthorized response when an authentication token is missing. This is required for browsers or specific HTTP libraries that do not send credentials without a server challenge.", + "headerAuthCompatibility": "Extended compatibility", "setupNewOrg": "Новая организация", "setupCreateOrg": "Создать организацию", "setupCreateResources": "Создать ресурсы", @@ -33,7 +35,7 @@ "password": "Пароль", "confirmPassword": "Подтвердите пароль", "createAccount": "Создать учётную запись", - "viewSettings": "Посмотреть настройки", + "viewSettings": "View Settings", "delete": "Удалить", "name": "Имя", "online": "Онлайн", @@ -51,6 +53,9 @@ "siteQuestionRemove": "Вы уверены, что хотите удалить сайт из организации?", "siteManageSites": "Управление сайтами", "siteDescription": "Создание и управление сайтами, чтобы включить подключение к приватным сетям", + "sitesBannerTitle": "Connect Any Network", + "sitesBannerDescription": "A site is a connection to a remote network that allows Pangolin to provide access to resources, whether public or private, to users anywhere. Install the site network connector (Newt) anywhere you can run a binary or container to establish the connection.", + "sitesBannerButtonText": "Install Site", "siteCreate": "Создать сайт", "siteCreateDescription2": "Следуйте инструкциям ниже для создания и подключения нового сайта", "siteCreateDescription": "Создайте новый сайт для начала подключения ресурсов", @@ -100,6 +105,7 @@ "siteTunnelDescription": "Определите, как вы хотите подключиться к сайту", "siteNewtCredentials": "Полномочия", "siteNewtCredentialsDescription": "Вот как сайт будет аутентифицироваться с сервером", + "remoteNodeCredentialsDescription": "This is how the remote node will authenticate with the server", "siteCredentialsSave": "Сохранить учетные данные", "siteCredentialsSaveDescription": "Вы сможете увидеть эти данные только один раз. Обязательно скопируйте их в безопасное место.", "siteInfo": "Информация о сайте", @@ -146,8 +152,12 @@ "shareErrorSelectResource": "Пожалуйста, выберите ресурс", "proxyResourceTitle": "Управление публичными ресурсами", "proxyResourceDescription": "Создание и управление ресурсами, которые доступны через веб-браузер", + "proxyResourcesBannerTitle": "Web-based Public Access", + "proxyResourcesBannerDescription": "Public resources are HTTPS or TCP/UDP proxies accessible to anyone on the internet through a web browser. Unlike private resources, they do not require client-side software and can include identity and context-aware access policies.", "clientResourceTitle": "Управление приватными ресурсами", "clientResourceDescription": "Создание и управление ресурсами, которые доступны только через подключенный клиент", + "privateResourcesBannerTitle": "Zero-Trust Private Access", + "privateResourcesBannerDescription": "Private resources use zero-trust security, ensuring users and machines can only access resources you explicitly grant. Connect user devices or machine clients to access these resources over a secure virtual private network.", "resourcesSearch": "Поиск ресурсов...", "resourceAdd": "Добавить ресурс", "resourceErrorDelte": "Ошибка при удалении ресурса", @@ -157,9 +167,9 @@ "resourceMessageRemove": "После удаления ресурс больше не будет доступен. Все целевые узлы, связанные с ресурсом, также будут удалены.", "resourceQuestionRemove": "Вы уверены, что хотите удалить ресурс из организации?", "resourceHTTP": "HTTPS-ресурс", - "resourceHTTPDescription": "Прокси-запросы к приложению по HTTPS с помощью поддомена или базового домена.", + "resourceHTTPDescription": "Proxy requests over HTTPS using a fully qualified domain name.", "resourceRaw": "Сырой TCP/UDP-ресурс", - "resourceRawDescription": "Прокси запрашивает приложение через TCP/UDP по номеру порта. Это работает только тогда, когда сайты подключены к узлам.", + "resourceRawDescription": "Proxy requests over raw TCP/UDP using a port number.", "resourceCreate": "Создание ресурса", "resourceCreateDescription": "Следуйте инструкциям ниже для создания нового ресурса", "resourceSeeAll": "Посмотреть все ресурсы", @@ -419,7 +429,7 @@ "userErrorExistsDescription": "Этот пользователь уже является участником организации.", "inviteError": "Не удалось пригласить пользователя", "inviteErrorDescription": "Произошла ошибка при приглашении пользователя", - "userInvited": "Пользователь приглашён", + "userInvited": "User Invited", "userInvitedDescription": "Пользователь был успешно приглашён.", "userErrorCreate": "Не удалось создать пользователя", "userErrorCreateDescription": "Произошла ошибка при создании пользователя", @@ -687,7 +697,7 @@ "resourceRoleDescription": "Администраторы всегда имеют доступ к этому ресурсу.", "resourceUsersRoles": "Контроль доступа", "resourceUsersRolesDescription": "Выберите пользователей и роли с доступом к этому ресурсу", - "resourceUsersRolesSubmit": "Сохранить пользователей и роли", + "resourceUsersRolesSubmit": "Save Access Controls", "resourceWhitelistSave": "Успешно сохранено", "resourceWhitelistSaveDescription": "Настройки белого списка были сохранены", "ssoUse": "Использовать Platform SSO", @@ -945,7 +955,7 @@ "pincodeAuth": "Код аутентификатора", "pincodeSubmit2": "Отправить код", "passwordResetSubmit": "Запросить сброс", - "passwordResetAlreadyHaveCode": "Введите код сброса пароля", + "passwordResetAlreadyHaveCode": "Enter Code", "passwordResetSmtpRequired": "Пожалуйста, обратитесь к администратору", "passwordResetSmtpRequiredDescription": "Для сброса пароля необходим код сброса пароля. Обратитесь к администратору за помощью.", "passwordBack": "Назад к паролю", @@ -1035,6 +1045,7 @@ "updateOrgUser": "Обновить пользователя Org", "createOrgUser": "Создать пользователя Org", "actionUpdateOrg": "Обновить организацию", + "actionRemoveInvitation": "Remove Invitation", "actionUpdateUser": "Обновить пользователя", "actionGetUser": "Получить пользователя", "actionGetOrgUser": "Получить пользователя организации", @@ -1044,6 +1055,8 @@ "actionGetSite": "Получить сайт", "actionListSites": "Список сайтов", "actionApplyBlueprint": "Применить чертёж", + "actionListBlueprints": "List Blueprints", + "actionGetBlueprint": "Get Blueprint", "setupToken": "Код настройки", "setupTokenDescription": "Введите токен настройки из консоли сервера.", "setupTokenRequired": "Токен настройки обязателен", @@ -1194,7 +1207,7 @@ "sidebarUserDevices": "Пользователи", "sidebarMachineClients": "Машины", "sidebarDomains": "Домены", - "sidebarGeneral": "Общие", + "sidebarGeneral": "Manage", "sidebarLogAndAnalytics": "Журнал и аналитика", "sidebarBluePrints": "Чертежи", "sidebarOrganization": "Организация", @@ -1308,8 +1321,11 @@ "accountSetupSuccess": "Настройка аккаунта завершена! Добро пожаловать в Pangolin!", "documentation": "Документация", "saveAllSettings": "Сохранить все настройки", + "saveResourceTargets": "Save Targets", + "saveResourceHttp": "Save Proxy Settings", + "saveProxyProtocol": "Save Proxy protocol settings", "settingsUpdated": "Настройки обновлены", - "settingsUpdatedDescription": "Все настройки успешно обновлены", + "settingsUpdatedDescription": "Settings updated successfully", "settingsErrorUpdate": "Не удалось обновить настройки", "settingsErrorUpdateDescription": "Произошла ошибка при обновлении настроек", "sidebarCollapse": "Свернуть", @@ -1616,9 +1632,8 @@ "createInternalResourceDialogResourceProperties": "Свойства ресурса", "createInternalResourceDialogName": "Имя", "createInternalResourceDialogSite": "Сайт", - "createInternalResourceDialogSelectSite": "Выберите сайт...", - "createInternalResourceDialogSearchSites": "Поиск сайтов...", - "createInternalResourceDialogNoSitesFound": "Сайты не найдены.", + "selectSite": "Select site...", + "noSitesFound": "No sites found.", "createInternalResourceDialogProtocol": "Протокол", "createInternalResourceDialogTcp": "TCP", "createInternalResourceDialogUdp": "UDP", @@ -1658,7 +1673,7 @@ "siteAddressDescription": "Внутренний адрес сайта. Должен находиться в подсети организации.", "siteNameDescription": "Отображаемое имя сайта, которое может быть изменено позже.", "autoLoginExternalIdp": "Автоматический вход с внешним провайдером", - "autoLoginExternalIdpDescription": "Немедленно перенаправьте пользователя к внешнему провайдеру для аутентификации.", + "autoLoginExternalIdpDescription": "Immediately redirect the user to the external identity provider for authentication.", "selectIdp": "Выберите провайдера", "selectIdpPlaceholder": "Выберите провайдера...", "selectIdpRequired": "Пожалуйста, выберите провайдера, когда автоматический вход включен.", @@ -1670,7 +1685,7 @@ "autoLoginErrorNoRedirectUrl": "URL-адрес перенаправления не получен от провайдера удостоверения.", "autoLoginErrorGeneratingUrl": "Не удалось сгенерировать URL-адрес аутентификации.", "remoteExitNodeManageRemoteExitNodes": "Удаленные узлы", - "remoteExitNodeDescription": "Самохост-один или несколько удаленных узлов для расширения сетевого соединения и уменьшения зависимости от облака", + "remoteExitNodeDescription": "Self-host your own remote relay and proxy server nodes", "remoteExitNodes": "Узлы", "searchRemoteExitNodes": "Поиск узлов...", "remoteExitNodeAdd": "Добавить узел", @@ -1680,20 +1695,22 @@ "remoteExitNodeConfirmDelete": "Подтвердите удаление узла", "remoteExitNodeDelete": "Удалить узел", "sidebarRemoteExitNodes": "Удаленные узлы", + "remoteExitNodeId": "ID", + "remoteExitNodeSecretKey": "Secret", "remoteExitNodeCreate": { - "title": "Создать узел", - "description": "Создать новый узел для расширения сетевого подключения", + "title": "Create Remote Node", + "description": "Create a new self-hosted remote relay and proxy server node", "viewAllButton": "Все узлы", "strategy": { "title": "Стратегия создания", - "description": "Выберите эту опцию для настройки узла или создания новых учетных данных.", + "description": "Select how you want to create the remote node", "adopt": { "title": "Принять узел", "description": "Выберите это, если у вас уже есть учетные данные для узла." }, "generate": { "title": "Сгенерировать ключи", - "description": "Выберите это, если вы хотите создать новые ключи для узла" + "description": "Choose this if you want to generate new keys for the node." } }, "adopt": { @@ -1806,9 +1823,30 @@ "idpAzureDescription": "Microsoft Azure OAuth2/OIDC provider", "subnet": "Подсеть", "subnetDescription": "Подсеть для конфигурации сети этой организации.", - "authPage": "Страница авторизации", - "authPageDescription": "Настроить страницу авторизации для организации", + "customDomain": "Custom Domain", + "authPage": "Authentication Pages", + "authPageDescription": "Set a custom domain for the organization's authentication pages", "authPageDomain": "Домен страницы авторизации", + "authPageBranding": "Custom Branding", + "authPageBrandingDescription": "Configure the branding that appears on authentication pages for this organization", + "authPageBrandingUpdated": "Auth page Branding updated successfully", + "authPageBrandingRemoved": "Auth page Branding removed successfully", + "authPageBrandingRemoveTitle": "Remove Auth Page Branding", + "authPageBrandingQuestionRemove": "Are you sure you want to remove the branding for Auth Pages ?", + "authPageBrandingDeleteConfirm": "Confirm Delete Branding", + "brandingLogoURL": "Logo URL", + "brandingPrimaryColor": "Primary Color", + "brandingLogoWidth": "Width (px)", + "brandingLogoHeight": "Height (px)", + "brandingOrgTitle": "Title for Organization Auth Page", + "brandingOrgDescription": "{orgName} will be replaced with the organization's name", + "brandingOrgSubtitle": "Subtitle for Organization Auth Page", + "brandingResourceTitle": "Title for Resource Auth Page", + "brandingResourceSubtitle": "Subtitle for Resource Auth Page", + "brandingResourceDescription": "{resourceName} will be replaced with the organization's name", + "saveAuthPageDomain": "Save Domain", + "saveAuthPageBranding": "Save Branding", + "removeAuthPageBranding": "Remove Branding", "noDomainSet": "Домен не установлен", "changeDomain": "Изменить домен", "selectDomain": "Выберите домен", @@ -1817,7 +1855,7 @@ "setAuthPageDomain": "Установить домен страницы авторизации", "failedToFetchCertificate": "Не удалось получить сертификат", "failedToRestartCertificate": "Не удалось перезапустить сертификат", - "addDomainToEnableCustomAuthPages": "Добавить домен для включения пользовательских страниц аутентификации для организации", + "addDomainToEnableCustomAuthPages": "Users will be able to access the organization's login page and complete resource authentication using this domain.", "selectDomainForOrgAuthPage": "Выберите домен для страницы аутентификации организации", "domainPickerProvidedDomain": "Домен предоставлен", "domainPickerFreeProvidedDomain": "Бесплатный домен", @@ -1832,10 +1870,19 @@ "domainPickerInvalidSubdomainCannotMakeValid": "\"{sub}\" не может быть действительным для {domain}.", "domainPickerSubdomainSanitized": "Субдомен очищен", "domainPickerSubdomainCorrected": "\"{sub}\" был исправлен на \"{sanitized}\"", - "orgAuthSignInTitle": "Войти в организацию", + "orgAuthSignInTitle": "Organization Sign In", "orgAuthChooseIdpDescription": "Выберите своего поставщика удостоверений личности для продолжения", "orgAuthNoIdpConfigured": "Эта организация не имеет настроенных поставщиков идентификационных данных. Вместо этого вы можете войти в свой Pangolin.", "orgAuthSignInWithPangolin": "Войти через Pangolin", + "orgAuthSignInToOrg": "Sign in to an organization", + "orgAuthSelectOrgTitle": "Organization Sign In", + "orgAuthSelectOrgDescription": "Enter your organization ID to continue", + "orgAuthOrgIdPlaceholder": "your-organization", + "orgAuthOrgIdHelp": "Enter your organization's unique identifier", + "orgAuthSelectOrgHelp": "After entering your organization ID, you'll be taken to your organization's sign-in page where you can use SSO or your organization credentials.", + "orgAuthRememberOrgId": "Remember this organization ID", + "orgAuthBackToSignIn": "Back to standard sign in", + "orgAuthNoAccount": "Don't have an account?", "subscriptionRequiredToUse": "Для использования этой функции требуется подписка.", "idpDisabled": "Провайдеры идентификации отключены.", "orgAuthPageDisabled": "Страница авторизации организации отключена.", @@ -1850,6 +1897,8 @@ "enableTwoFactorAuthentication": "Включить двухфакторную аутентификацию", "completeSecuritySteps": "Пройти шаги безопасности", "securitySettings": "Настройки безопасности", + "dangerSection": "Danger Zone", + "dangerSectionDescription": "Permanently delete all data associated with this organization", "securitySettingsDescription": "Настройка политик безопасности для организации", "requireTwoFactorForAllUsers": "Требовать двухфакторную аутентификацию для всех пользователей", "requireTwoFactorDescription": "Когда включено, все внутренние пользователи в этой организации должны иметь двухфакторную аутентификацию для доступа к организации.", @@ -1887,7 +1936,7 @@ "securityPolicyChangeWarningText": "Это повлияет на всех пользователей организации", "authPageErrorUpdateMessage": "Произошла ошибка при обновлении настроек страницы авторизации", "authPageErrorUpdate": "Не удалось обновить страницу авторизации", - "authPageUpdated": "Страница авторизации успешно обновлена", + "authPageDomainUpdated": "Auth page Domain updated successfully", "healthCheckNotAvailable": "Локальный", "rewritePath": "Переписать путь", "rewritePathDescription": "При необходимости, измените путь перед пересылкой к целевому адресу.", @@ -1915,8 +1964,15 @@ "beta": "Бета", "manageUserDevices": "Устройства пользователя", "manageUserDevicesDescription": "Просмотр и управление устройствами, которые пользователи используют для приватного подключения к ресурсам", + "downloadClientBannerTitle": "Download Pangolin Client", + "downloadClientBannerDescription": "Download the Pangolin client for your system to connect to the Pangolin network and access resources privately.", "manageMachineClients": "Управление машинными клиентами", "manageMachineClientsDescription": "Создание и управление клиентами, которые используют серверы и системы для частного подключения к ресурсам", + "machineClientsBannerTitle": "Servers & Automated Systems", + "machineClientsBannerDescription": "Machine clients are for servers and automated systems that are not associated with a specific user. They authenticate with an ID and secret, and can run with Pangolin CLI, Olm CLI, or Olm as a container.", + "machineClientsBannerPangolinCLI": "Pangolin CLI", + "machineClientsBannerOlmCLI": "Olm CLI", + "machineClientsBannerOlmContainer": "Olm Container", "clientsTableUserClients": "Пользователь", "clientsTableMachineClients": "Машина", "licenseTableValidUntil": "Действителен до", @@ -2060,13 +2116,15 @@ "request": "Запросить", "requests": "Запросы", "logs": "Логи", - "logsSettingsDescription": "Отслеживать журналы, собранные в этой организации", + "logsSettingsDescription": "Monitor logs collected from this organization", "searchLogs": "Поиск журналов...", "action": "Действие", "actor": "Актер", "timestamp": "Отметка времени", "accessLogs": "Журналы доступа", "exportCsv": "Экспорт CSV", + "exportError": "Unknown error when exporting CSV", + "exportCsvTooltip": "Within Time Range", "actorId": "ID актера", "allowedByRule": "Разрешено правилом", "allowedNoAuth": "Разрешено без авторизации", @@ -2120,7 +2178,7 @@ "unverified": "Не подтверждено", "domainSetting": "Настройки домена", "domainSettingDescription": "Настройка параметров домена", - "preferWildcardCertDescription": "Попытка создания шаблона сертификата (требуется должным образом сконфигурированный резолвер сертификата).", + "preferWildcardCertDescription": "Attempt to generate a wildcard certificate (requires a properly configured certificate resolver).", "recordName": "Имя записи", "auto": "Авто", "TTL": "TTL", @@ -2255,6 +2313,8 @@ "setupFailedToFetchSubnet": "Не удалось получить подсеть по умолчанию", "setupSubnetAdvanced": "Подсеть (Дополнительно)", "setupSubnetDescription": "Подсеть для внутренней сети этой организации.", + "setupUtilitySubnet": "Utility Subnet (Advanced)", + "setupUtilitySubnetDescription": "The subnet for this organization's alias addresses and DNS server.", "siteRegenerateAndDisconnect": "Сгенерировать и отключить", "siteRegenerateAndDisconnectConfirmation": "Вы уверены, что хотите сгенерировать учетные данные и отключить этот сайт?", "siteRegenerateAndDisconnectWarning": "Это позволит восстановить учетные данные и немедленно отключить сайт. Сайт будет перезапущен с новыми учетными данными.", @@ -2270,5 +2330,40 @@ "remoteExitNodeRegenerateAndDisconnectWarning": "Это позволит восстановить учётные данные и немедленно отключить удаленный узел выхода. Удаленный узел выхода должен быть перезапущен с новыми учетными данными.", "remoteExitNodeRegenerateCredentialsConfirmation": "Вы уверены, что хотите восстановить учетные данные для этого удаленного выхода узла?", "remoteExitNodeRegenerateCredentialsWarning": "Это позволит восстановить учетные данные. Удалённый узел останется подключенным, пока вы не перезапустите его вручную и воспользуетесь новыми учетными данными.", - "agent": "Агент" + "agent": "Агент", + "personalUseOnly": "Personal Use Only", + "loginPageLicenseWatermark": "This instance is licensed for personal use only.", + "instanceIsUnlicensed": "This instance is unlicensed.", + "portRestrictions": "Port Restrictions", + "allPorts": "All", + "custom": "Custom", + "allPortsAllowed": "All Ports Allowed", + "allPortsBlocked": "All Ports Blocked", + "tcpPortsDescription": "Specify which TCP ports are allowed for this resource. Use '*' for all ports, leave empty to block all, or enter a comma-separated list of ports and ranges (e.g., 80,443,8000-9000).", + "udpPortsDescription": "Specify which UDP ports are allowed for this resource. Use '*' for all ports, leave empty to block all, or enter a comma-separated list of ports and ranges (e.g., 53,123,500-600).", + "organizationLoginPageTitle": "Organization Login Page", + "organizationLoginPageDescription": "Customize the login page for this organization", + "resourceLoginPageTitle": "Resource Login Page", + "resourceLoginPageDescription": "Customize the login page for individual resources", + "enterConfirmation": "Enter confirmation", + "blueprintViewDetails": "Details", + "defaultIdentityProvider": "Default Identity Provider", + "editInternalResourceDialogNetworkSettings": "Network Settings", + "editInternalResourceDialogAccessPolicy": "Access Policy", + "editInternalResourceDialogAddRoles": "Add Roles", + "editInternalResourceDialogAddUsers": "Add Users", + "editInternalResourceDialogAddClients": "Add Clients", + "editInternalResourceDialogDestinationLabel": "Destination", + "editInternalResourceDialogDestinationDescription": "Specify the destination address for the internal resource. This can be a hostname, IP address, or CIDR range depending on the selected mode. Optionally set an internal DNS alias for easier identification.", + "editInternalResourceDialogPortRestrictionsDescription": "Restrict access to specific TCP/UDP ports or allow/block all ports.", + "editInternalResourceDialogTcp": "TCP", + "editInternalResourceDialogUdp": "UDP", + "editInternalResourceDialogIcmp": "ICMP", + "editInternalResourceDialogAccessControl": "Access Control", + "editInternalResourceDialogAccessControlDescription": "Control which roles, users, and machine clients have access to this resource when connected. Admins always have access.", + "editInternalResourceDialogPortRangeValidationError": "Port range must be \"*\" for all ports, or a comma-separated list of ports and ranges (e.g., \"80,443,8000-9000\"). Ports must be between 1 and 65535.", + "orgAuthWhatsThis": "Where can I find my organization ID?", + "learnMore": "Learn more", + "backToHome": "Go back to home", + "needToSignInToOrg": "Need to use your organization's identity provider?" }