From 19ccf098f0bee301c6fb6c90baa084584a053386 Mon Sep 17 00:00:00 2001 From: Marvin <127591405+Lokowitz@users.noreply.github.com> Date: Tue, 10 Jun 2025 07:45:23 +0200 Subject: [PATCH] New Crowdin updates (#179) * New translations en-us.json (French) * New translations en-us.json (German) * New translations en-us.json (Italian) * New translations en-us.json (Polish) * New translations en-us.json (Portuguese) * New translations en-us.json (Turkish) * New translations en-us.json (Chinese Simplified) * New translations en-us.json (Spanish) * New translations en-us.json (Dutch) * New translations en-us.json (French) * New translations en-us.json (German) * New translations en-us.json (Italian) * New translations en-us.json (Polish) * New translations en-us.json (Portuguese) * New translations en-us.json (Spanish) * New translations en-us.json (Dutch) --- messages/de-DE.json | 18 ++- messages/es-ES.json | 18 ++- messages/fr-FR.json | 18 ++- messages/it-IT.json | 18 ++- messages/nl-NL.json | 20 ++- messages/pl-PL.json | 18 ++- messages/pt-PT.json | 18 ++- messages/tr-TR.json | 18 ++- messages/zh-CN.json | 332 ++++++++++++++++++++++---------------------- 9 files changed, 295 insertions(+), 183 deletions(-) diff --git a/messages/de-DE.json b/messages/de-DE.json index 6432ae56..db24894c 100644 --- a/messages/de-DE.json +++ b/messages/de-DE.json @@ -1075,5 +1075,19 @@ "authErrorNoUpdate": "Keine Auth-Informationen zum Aktualisieren", "orgErrorNoUpdate": "Keine Organisation zum Aktualisieren", "orgErrorNoProvided": "Keine Organisation angegeben", - "apiKeysErrorNoUpdate": "Kein API-Schlüssel zum Aktualisieren" -} + "apiKeysErrorNoUpdate": "Kein API-Schlüssel zum Aktualisieren", + "sidebarOverview": "Übersicht", + "sidebarHome": "Zuhause", + "sidebarSites": "Seiten", + "sidebarResources": "Ressourcen", + "sidebarAccessControl": "Zugriffskontrolle", + "sidebarUsers": "Benutzer", + "sidebarInvitations": "Einladungen", + "sidebarRoles": "Rollen", + "sidebarShareableLinks": "Teilbare Links", + "sidebarApiKeys": "API-Schlüssel", + "sidebarSettings": "Einstellungen", + "sidebarAllUsers": "Alle Benutzer", + "sidebarIdentityProviders": "Identitätsanbieter", + "sidebarLicense": "Lizenz" +} \ No newline at end of file diff --git a/messages/es-ES.json b/messages/es-ES.json index 2c05cc8b..145a78e2 100644 --- a/messages/es-ES.json +++ b/messages/es-ES.json @@ -1075,5 +1075,19 @@ "authErrorNoUpdate": "No hay información de autenticación para actualizar", "orgErrorNoUpdate": "No hay org para actualizar", "orgErrorNoProvided": "No hay org proporcionado", - "apiKeysErrorNoUpdate": "Ninguna clave API para actualizar" -} + "apiKeysErrorNoUpdate": "Ninguna clave API para actualizar", + "sidebarOverview": "Resumen", + "sidebarHome": "Inicio", + "sidebarSites": "Sitios", + "sidebarResources": "Recursos", + "sidebarAccessControl": "Control de acceso", + "sidebarUsers": "Usuarios", + "sidebarInvitations": "Invitaciones", + "sidebarRoles": "Roles", + "sidebarShareableLinks": "Enlaces compartibles", + "sidebarApiKeys": "Claves API", + "sidebarSettings": "Ajustes", + "sidebarAllUsers": "Todos los usuarios", + "sidebarIdentityProviders": "Proveedores de identidad", + "sidebarLicense": "Licencia" +} \ No newline at end of file diff --git a/messages/fr-FR.json b/messages/fr-FR.json index fb59e65a..36ac30af 100644 --- a/messages/fr-FR.json +++ b/messages/fr-FR.json @@ -1075,5 +1075,19 @@ "authErrorNoUpdate": "Pas d'informations d'authentification à mettre à jour", "orgErrorNoUpdate": "Pas d'organisation à mettre à jour", "orgErrorNoProvided": "Aucune organisation fournie", - "apiKeysErrorNoUpdate": "Pas de clé API à mettre à jour" -} + "apiKeysErrorNoUpdate": "Pas de clé API à mettre à jour", + "sidebarOverview": "Aperçu", + "sidebarHome": "Domicile", + "sidebarSites": "Espaces", + "sidebarResources": "Ressource", + "sidebarAccessControl": "Contrôle d'accès", + "sidebarUsers": "Utilisateurs", + "sidebarInvitations": "Invitations", + "sidebarRoles": "Rôles", + "sidebarShareableLinks": "Liens partagables", + "sidebarApiKeys": "Clés API", + "sidebarSettings": "Réglages", + "sidebarAllUsers": "Tous les utilisateurs", + "sidebarIdentityProviders": "Fournisseurs d'identité", + "sidebarLicense": "Licence" +} \ No newline at end of file diff --git a/messages/it-IT.json b/messages/it-IT.json index 3e49a833..ee37f218 100644 --- a/messages/it-IT.json +++ b/messages/it-IT.json @@ -1075,5 +1075,19 @@ "authErrorNoUpdate": "Nessuna informazione di autenticazione da aggiornare", "orgErrorNoUpdate": "Nessuna organizzazione da aggiornare", "orgErrorNoProvided": "Nessuna organizzazione fornita", - "apiKeysErrorNoUpdate": "Nessuna chiave API da aggiornare" -} + "apiKeysErrorNoUpdate": "Nessuna chiave API da aggiornare", + "sidebarOverview": "Panoramica", + "sidebarHome": "Home", + "sidebarSites": "Siti", + "sidebarResources": "Risorse", + "sidebarAccessControl": "Controllo Accesso", + "sidebarUsers": "Utenti", + "sidebarInvitations": "Inviti", + "sidebarRoles": "Ruoli", + "sidebarShareableLinks": "Collegamenti Condividibili", + "sidebarApiKeys": "Chiavi API", + "sidebarSettings": "Impostazioni", + "sidebarAllUsers": "Tutti Gli Utenti", + "sidebarIdentityProviders": "Fornitori Di Identità", + "sidebarLicense": "Licenza" +} \ No newline at end of file diff --git a/messages/nl-NL.json b/messages/nl-NL.json index 2752f6dd..ef8007c7 100644 --- a/messages/nl-NL.json +++ b/messages/nl-NL.json @@ -348,7 +348,7 @@ "licensePurchaseSites": "Extra sites kopen", "licenseSitesUsedMax": "{usedSites} van {maxSites} sites gebruikt", "licenseSitesUsed": "{count, plural, =0 {# sites} =1 {# site} other {# sites}} in het systeem.", - "licensePurchaseDescription": "Choose how many sites you want to {selectedMode, select, license {purchase a license for. You can always add more sites later.} other {add to your existing license.}}", + "licensePurchaseDescription": "Kies hoeveel sites je wilt {selectedMode, select, license {Koop een licentie. Je kunt later altijd meer sites toevoegen.} other {Voeg je bestaande licentie toe}}", "licenseFee": "Licentie vergoeding", "licensePriceSite": "Prijs per site", "total": "Totaal", @@ -1075,5 +1075,19 @@ "authErrorNoUpdate": "Geen authenticatie informatie om bij te werken", "orgErrorNoUpdate": "Geen org om bij te werken", "orgErrorNoProvided": "Geen org opgegeven", - "apiKeysErrorNoUpdate": "Geen API-sleutel om bij te werken" -} + "apiKeysErrorNoUpdate": "Geen API-sleutel om bij te werken", + "sidebarOverview": "Overzicht.", + "sidebarHome": "Startpagina", + "sidebarSites": "Werkruimtes", + "sidebarResources": "Hulpmiddelen", + "sidebarAccessControl": "Toegangs controle", + "sidebarUsers": "Gebruikers", + "sidebarInvitations": "Uitnodigingen", + "sidebarRoles": "Rollen", + "sidebarShareableLinks": "Deelbare links", + "sidebarApiKeys": "API sleutels", + "sidebarSettings": "Instellingen", + "sidebarAllUsers": "Alle gebruikers", + "sidebarIdentityProviders": "Identiteit aanbieders", + "sidebarLicense": "Licentie" +} \ No newline at end of file diff --git a/messages/pl-PL.json b/messages/pl-PL.json index 299e5502..b20c4040 100644 --- a/messages/pl-PL.json +++ b/messages/pl-PL.json @@ -1075,5 +1075,19 @@ "authErrorNoUpdate": "Brak danych uwierzytelniania do aktualizacji", "orgErrorNoUpdate": "Brak organizacji do aktualizacji", "orgErrorNoProvided": "Nie podano organizacji", - "apiKeysErrorNoUpdate": "Brak klucza API do aktualizacji" -} + "apiKeysErrorNoUpdate": "Brak klucza API do aktualizacji", + "sidebarOverview": "Przegląd", + "sidebarHome": "Strona główna", + "sidebarSites": "Witryny", + "sidebarResources": "Zasoby", + "sidebarAccessControl": "Kontrola dostępu", + "sidebarUsers": "Użytkownicy", + "sidebarInvitations": "Zaproszenia", + "sidebarRoles": "Role", + "sidebarShareableLinks": "Linki do udostępnienia", + "sidebarApiKeys": "Klucze API", + "sidebarSettings": "Ustawienia", + "sidebarAllUsers": "Wszyscy użytkownicy", + "sidebarIdentityProviders": "Dostawcy tożsamości", + "sidebarLicense": "Licencja" +} \ No newline at end of file diff --git a/messages/pt-PT.json b/messages/pt-PT.json index 986d889c..4a84d262 100644 --- a/messages/pt-PT.json +++ b/messages/pt-PT.json @@ -1075,5 +1075,19 @@ "authErrorNoUpdate": "Não existem informações de autenticação para atualizar", "orgErrorNoUpdate": "Não existe organização para atualizar", "orgErrorNoProvided": "Nenhuma organização fornecida", - "apiKeysErrorNoUpdate": "Não existe chave API para atualizar" -} + "apiKeysErrorNoUpdate": "Não existe chave API para atualizar", + "sidebarOverview": "Geral", + "sidebarHome": "Residencial", + "sidebarSites": "sites", + "sidebarResources": "Recursos", + "sidebarAccessControl": "Controle de Acesso", + "sidebarUsers": "Utilizadores", + "sidebarInvitations": "Convites", + "sidebarRoles": "Papéis", + "sidebarShareableLinks": "Links compartilháveis", + "sidebarApiKeys": "Chaves API", + "sidebarSettings": "Confirgurações", + "sidebarAllUsers": "Todos os usuários", + "sidebarIdentityProviders": "Provedores de identidade", + "sidebarLicense": "Tipo:" +} \ No newline at end of file diff --git a/messages/tr-TR.json b/messages/tr-TR.json index 5e1b88db..f09dc233 100644 --- a/messages/tr-TR.json +++ b/messages/tr-TR.json @@ -1075,5 +1075,19 @@ "authErrorNoUpdate": "No auth info to update", "orgErrorNoUpdate": "No org to update", "orgErrorNoProvided": "No org provided", - "apiKeysErrorNoUpdate": "No API key to update" -} + "apiKeysErrorNoUpdate": "No API key to update", + "sidebarOverview": "Overview", + "sidebarHome": "Home", + "sidebarSites": "Sites", + "sidebarResources": "Resources", + "sidebarAccessControl": "Access Control", + "sidebarUsers": "Users", + "sidebarInvitations": "Invitations", + "sidebarRoles": "Roles", + "sidebarShareableLinks": "Shareable Links", + "sidebarApiKeys": "API Keys", + "sidebarSettings": "Settings", + "sidebarAllUsers": "All Users", + "sidebarIdentityProviders": "Identity Providers", + "sidebarLicense": "License" +} \ No newline at end of file diff --git a/messages/zh-CN.json b/messages/zh-CN.json index c2420ca4..110f1964 100644 --- a/messages/zh-CN.json +++ b/messages/zh-CN.json @@ -1,5 +1,5 @@ { - "setupCreate": "创建您的第一个组织、网站和资源", + "setupCreate": "创建您的组织、网站和资源", "setupNewOrg": "新建组织", "setupCreateOrg": "创建组织", "setupCreateResources": "创建资源", @@ -7,17 +7,17 @@ "orgDisplayName": "这是您组织的显示名称。", "orgId": "组织ID", "setupIdentifierMessage": "这是您组织的唯一标识符。这是与显示名称分开的。", - "setupErrorIdentifier": "组织ID 已被使用。请另选一个。", + "setupErrorIdentifier": "组织 ID 已被使用。请另选一个。", "componentsErrorNoMemberCreate": "您目前不是任何组织的成员。创建组织以开始操作。", "componentsErrorNoMember": "您目前不是任何组织的成员。", "welcome": "欢迎使用 Pangolin", "componentsCreateOrg": "创建组织", - "componentsMember": "{count, plural, =0 {您目前不是任何组织的成员。} other {你已加入 # 个组织。}}.", - "componentsInvalidKey": "检测到无效或过期的许可证密钥。按照许可证条款操作以继续使用所有功能。", - "dismiss": "忽略", + "componentsMember": "You're a member of {count, plural, =0 {no organization} =1 {one organization} other {# organizations}}.", + "componentsInvalidKey": "检测到无效或过期的许可证密钥。按照许可证条款继续使用所有功能。", + "dismiss": "关闭", "componentsLicenseViolation": "许可证超限:该服务器使用了 {usedSites} 个站点,已超过授权的 {maxSites} 个。请遵守许可证条款以继续使用全部功能。", "componentsSupporterMessage": "感谢您的支持!您现在是 Pangolin 的 {tier} 用户。", - "inviteErrorNotValid": "很抱歉,但看起来你试图访问的邀请尚未被接受或不再有效。", + "inviteErrorNotValid": "我们很抱歉,但看起来你试图访问的邀请尚未被接受或不再有效。", "inviteErrorUser": "很抱歉,但看起来你想要访问的邀请不是这个用户。", "inviteLoginUser": "请确保您以正确的用户登录。", "inviteErrorNoUser": "很抱歉,但看起来你想访问的邀请不是一个存在的用户。", @@ -61,27 +61,27 @@ "siteNameDescription": "这是站点的显示名称。", "method": "方法", "siteMethodDescription": "这是您将如何显示连接。", - "siteLearnNewt": "学习如何在您的系统上安装 Newt", + "siteLearnNewt": "学习如何在您的系统上安装Newt", "siteSeeConfigOnce": "您只能看到一次配置。", - "siteLoadWGConfig": "正在载入 WireGuard 配置...", + "siteLoadWGConfig": "正在载入Wire保护配置...", "siteDocker": "扩展 Docker 部署详细信息", - "toggle": "切换", - "dockerCompose": "Docker Compose", - "dockerRun": "Docker Run", - "siteLearnLocal": "本地站点不需要隧道连接,点击了解更多", - "siteConfirmCopy": "我已经复制了配置信息", + "toggle": "切换键", + "dockerCompose": "Docker 配置", + "dockerRun": "停靠栏", + "siteLearnLocal": "本地站点没有隧道,学习更多", + "siteConfirmCopy": "我已复制配置", "searchSitesProgress": "搜索站点...", "siteAdd": "添加站点", - "siteInstallNewt": "安装 Newt", - "siteInstallNewtDescription": "在您的系统中运行 Newt", - "WgConfiguration": "WireGuard 配置", + "siteInstallNewt": "安装新的", + "siteInstallNewtDescription": "在您的系统上获得新的运行", + "WgConfiguration": "Wire护卫配置", "WgConfigurationDescription": "使用以下配置连接到您的网络", "operatingSystem": "操作系统", "commands": "命令", - "recommended": "推荐", - "siteNewtDescription": "为获得最佳用户体验,请使用 Newt。其底层采用 WireGuard 技术,可直接通过 Pangolin 控制台,使用局域网地址访问您私有网络中的资源。", - "siteRunsInDocker": "在 Docker 中运行", - "siteRunsInShell": "在 macOS 、 Linux 和 Windows 的 Shell 中运行", + "recommended": "推荐的", + "siteNewtDescription": "为了获得最好的用户体验,请使用新的。 它使用ireGuard,让您能够使用Pangolin仪表板内他们的局域网地址处理您的私人资源。", + "siteRunsInDocker": "运行在停靠栏", + "siteRunsInShell": "在 macOS 、 Linux 和 Windows 的 shell 中运行", "siteErrorDelete": "删除站点出错", "siteErrorUpdate": "更新站点失败", "siteErrorUpdateDescription": "更新站点时出错。", @@ -90,17 +90,17 @@ "siteGeneralDescription": "配置此站点的常规设置", "siteSettingDescription": "配置您网站上的设置", "siteSetting": "{siteName} 设置", - "siteNewtTunnel": "Newt 隧道 (推荐)", - "siteNewtTunnelDescription": "最简单的方式来连接到您的网络。不需要任何额外设置。", - "siteWg": "基本 WireGuard", - "siteWgDescription": "使用任何 WireGuard 客户端来建立隧道。需要手动配置 NAT。", - "siteLocalDescription": "仅限本地资源。不需要隧道。", + "siteNewtTunnel": "新隧道(推荐)", + "siteNewtTunnelDescription": "最简单的方式来创建一个入口到您的网络。没有额外的设置。", + "siteWg": "基本线甲", + "siteWgDescription": "使用任何 WireGuard 客户端来建立隧道。需要手动设置NAT。", + "siteLocalDescription": "仅本地资源。没有隧道。", "siteSeeAll": "查看所有站点", "siteTunnelDescription": "确定如何连接到您的网站", - "siteNewtCredentials": "Newt 凭据", - "siteNewtCredentialsDescription": "这是 Newt 服务器的身份验证凭据", - "siteCredentialsSave": "保存您的凭据", - "siteCredentialsSaveDescription": "您只能看到一次。请确保将其复制并保存到一个安全的地方。", + "siteNewtCredentials": "新建凭据", + "siteNewtCredentialsDescription": "这是新建服务器的身份验证方式", + "siteCredentialsSave": "保存您的证书", + "siteCredentialsSaveDescription": "您只能看到一次。请确保将其复制到一个安全的地方。", "siteInfo": "站点信息", "status": "状态", "shareTitle": "管理共享链接", @@ -111,16 +111,16 @@ "shareErrorDeleteMessage": "删除链接时出错", "shareDeleted": "链接已删除", "shareDeletedDescription": "链接已删除", - "shareTokenDescription": "您的访问令牌可以通过两种方式传递:作为查询参数或请求头。 每次验证访问请求都必须从客户端传递。", + "shareTokenDescription": "您的访问令牌可以通过两种方式传递:作为查询参数或请求标题。 每次验证访问请求都必须从客户端传递。", "accessToken": "访问令牌", "usageExamples": "用法示例", - "tokenId": "令牌 ID", - "requestHeades": "请求头", + "tokenId": "Token ID", + "requestHeades": "请求标题", "queryParameter": "查询参数", - "importantNote": "重要提示", - "shareImportantDescription": "出于安全考虑,建议尽可能在使用请求头传递参数,因为查询参数可能会被浏览器历史记录或服务器日志记录。", + "importantNote": "重要笔记", + "shareImportantDescription": "出于安全考虑,建议尽可能在查询参数中使用头部,因为查询参数可能会在服务器日志或浏览器历史记录中记录。", "token": "令牌", - "shareTokenSecurety": "请妥善保管您的访问令牌,不要将其暴露在公开访问的区域或客户端代码中。", + "shareTokenSecurety": "保持您的访问令牌安全。请不要在公开可访问的区域或客户端代码中共享。", "shareErrorFetchResource": "获取资源失败", "shareErrorFetchResourceDescription": "获取资源时出错", "shareErrorCreate": "无法创建共享链接", @@ -141,7 +141,7 @@ "title": "标题", "created": "已创建", "expires": "过期时间", - "never": "永不过期", + "never": "从不使用", "shareErrorSelectResource": "请选择一个资源", "resourceTitle": "管理资源", "resourceDescription": "为您的私人应用程序创建安全代理", @@ -149,14 +149,14 @@ "resourceAdd": "添加资源", "resourceErrorDelte": "删除资源时出错", "authentication": "认证", - "protected": "受到保护", - "notProtected": "未受到保护", - "resourceMessageRemove": "一旦删除,资源将不再可访问。与该资源相关的所有目标也将被删除。", + "protected": "保护", + "notProtected": "不保护", + "resourceMessageRemove": "一旦删除,资源将不再可访问。与资源相关的所有目标也将被删除。", "resourceMessageConfirm": "请在下面输入资源名称以确认。", "resourceQuestionRemove": "您确定要从组织中删除 {selectedResource} 吗?", "resourceHTTP": "HTTPS 资源", - "resourceHTTPDescription": "使用子域或根域名通过 HTTPS 向您的应用程序提出代理请求。", - "resourceRaw": "TCP/UDP 资源", + "resourceHTTPDescription": "使用子域或基本域名通过 HTTPS 向您的应用程序提出代理请求。", + "resourceRaw": "Raw TCP/UDP 资源", "resourceRawDescription": "使用 TCP/UDP 使用端口号向您的应用提出代理请求。", "resourceCreate": "创建资源", "resourceCreateDescription": "按照下面的步骤创建新资源", @@ -172,20 +172,20 @@ "resourceHTTPSSettings": "HTTPS 设置", "resourceHTTPSSettingsDescription": "配置如何通过 HTTPS 访问您的资源", "domainType": "域类型", - "subdomain": "子域名", - "baseDomain": "根域名", - "subdomnainDescription": "您的资源可以访问的子域名。", + "subdomain": "子域", + "baseDomain": "基础域", + "subdomnainDescription": "您的资源可以访问的子域。", "resourceRawSettings": "TCP/UDP 设置", "resourceRawSettingsDescription": "配置如何通过 TCP/UDP 访问您的资源", - "protocol": "协议", - "protocolSelect": "选择协议", + "protocol": "Protocol", + "protocolSelect": "Select a protocol", "resourcePortNumber": "端口号", "resourcePortNumberDescription": "代理请求的外部端口号。", "cancel": "取消", "resourceConfig": "配置片段", "resourceConfigDescription": "复制并粘贴这些配置片段以设置您的 TCP/UDP 资源", "resourceAddEntrypoints": "Traefik: 添加入口点", - "resourceExposePorts": "Gerbil:在 Docker Compose 中显示端口", + "resourceExposePorts": "Gerbil:在Docker Compose 中显示端口", "resourceLearnRaw": "学习如何配置 TCP/UDP 资源", "resourceBack": "返回资源", "resourceGoTo": "转到资源", @@ -194,23 +194,23 @@ "visibility": "可见性", "enabled": "已启用", "disabled": "已禁用", - "general": "概览", + "general": "A. 概况", "generalSettings": "常规设置", "proxy": "代理服务器", "rules": "规则", "resourceSettingDescription": "配置您资源上的设置", "resourceSetting": "{resourceName} 设置", - "alwaysAllow": "一律允许", - "alwaysDeny": "一律拒绝", + "alwaysAllow": "总是允许", + "alwaysDeny": "总是拒绝", "orgSettingsDescription": "配置您组织的一般设置", "orgGeneralSettings": "组织设置", "orgGeneralSettingsDescription": "管理您的机构详细信息和配置", "saveGeneralSettings": "保存常规设置", "orgDangerZone": "危险区域", - "orgDangerZoneDescription": "一旦删除该组织,将无法恢复,请务必确认。", + "orgDangerZoneDescription": "一旦你删除了这个组织,就没有回去了。请放心。", "orgDelete": "删除组织", "orgDeleteConfirm": "确认删除组织", - "orgMessageRemove": "此操作不可逆,这将删除所有相关数据。", + "orgMessageRemove": "此操作不可逆,将删除所有相关数据。", "orgMessageConfirm": "要确认,请在下面输入组织名称。", "orgQuestionRemove": "你确定要删除 “{selectedOrg}” 组织吗?", "orgUpdated": "组织已更新", @@ -224,15 +224,15 @@ "orgDeleted": "组织已删除", "orgDeletedMessage": "组织及其数据已被删除。", "orgMissing": "缺少组织 ID", - "orgMissingMessage": "没有组织ID,无法重新生成邀请。", + "orgMissingMessage": "没有机构ID,无法重新生成邀请。", "accessUsersManage": "管理用户", - "accessUsersDescription": "邀请用户并位他们添加角色以管理访问您的组织", + "accessUsersDescription": "邀请用户并将他们添加到角色以管理访问您的组织", "accessUsersSearch": "搜索用户...", "accessUserCreate": "创建用户", "accessUserRemove": "删除用户", "username": "用户名", "identityProvider": "身份提供商", - "role": "角色", + "role": "作用", "nameRequired": "名称是必填项", "accessRolesManage": "管理角色", "accessRolesDescription": "配置角色来管理访问您的组织", @@ -244,13 +244,13 @@ "inviteDescription": "管理您给其他用户的邀请", "inviteSearch": "搜索邀请...", "minutes": "分钟", - "hours": "小时", + "hours": "小时数", "days": "天", "weeks": "周", "months": "月", "years": "年", "day": "{count, plural, =1 {# 天} other {# 天}}", - "apiKeysTitle": "API 密钥", + "apiKeysTitle": "API 密钥信息", "apiKeysConfirmCopy2": "您必须确认您已复制 API 密钥。", "apiKeysErrorCreate": "创建 API 密钥出错", "apiKeysErrorSetPermission": "设置权限出错", @@ -260,7 +260,7 @@ "apiKeysGeneralSettingsDescription": "确定此 API 密钥可以做什么", "apiKeysList": "您的 API 密钥", "apiKeysSave": "保存您的 API 密钥", - "apiKeysSaveDescription": "该信息仅会显示一次,请确保将其复制到安全的位置。", + "apiKeysSaveDescription": "您只能看到一次。请确保将其复制到一个安全的地方。", "apiKeysInfo": "您的 API 密钥是:", "apiKeysConfirmCopy": "我已复制 API 密钥", "generate": "生成", @@ -280,7 +280,7 @@ "apiKeysErrorDelete": "删除 API 密钥出错", "apiKeysErrorDeleteMessage": "删除 API 密钥出错", "apiKeysQuestionRemove": "您确定要从组织中删除 “{selectedApiKey}” API密钥吗?", - "apiKeysMessageRemove": "一旦删除,此API密钥将无法被使用。", + "apiKeysMessageRemove": "一旦移除,API密钥将无法再使用。", "apiKeysMessageConfirm": "要确认,请在下方输入API密钥名称。", "apiKeysDeleteConfirm": "确认删除 API 密钥", "apiKeysDelete": "删除 API 密钥", @@ -290,7 +290,7 @@ "userTitle": "管理所有用户", "userDescription": "查看和管理系统中的所有用户", "userAbount": "关于用户管理", - "userAbountDescription": "此表格显示系统中所有根用户对象。每个用户可能属于多个组织。 从组织中删除用户不会删除其根用户对象 - 他们将保留在系统中。 要从系统中完全删除用户,您必须使用此表格中的删除操作删除其根用户对象。", + "userAbountDescription": "此表显示系统中所有根用户对象。每个用户可能属于多个组织。 从组织中删除用户不会删除其根用户对象 - 他们将保留在系统中。 要从系统中完全删除用户,您必须使用此表中的删除操作删除其根用户对象。", "userServer": "服务器用户", "userSearch": "搜索服务器用户...", "userErrorDelete": "删除用户时出错", @@ -300,7 +300,7 @@ "userMessageConfirm": "请在下面输入用户名称以确认。", "userQuestionRemove": "您确定要从服务器中永久删除 {selectedUser} 吗?", "licenseKey": "许可证密钥", - "valid": "有效", + "valid": "Valid", "numberOfSites": "站点数量", "licenseKeySearch": "搜索许可证密钥...", "licenseKeyAdd": "添加许可证密钥", @@ -334,7 +334,7 @@ "licenseQuestionRemove": "Are you sure you want to delete the license key {selectedKey} ?", "licenseKeyDelete": "删除许可证密钥", "licenseKeyDeleteConfirm": "确认删除许可证密钥", - "licenseTitle": "管理许可证状态", + "licenseTitle": "管理许可状态", "licenseTitleDescription": "查看和管理系统中的许可证密钥", "licenseHost": "主机许可证", "licenseHostDescription": "管理主机的主许可证密钥。", @@ -347,14 +347,14 @@ "licensePurchase": "购买许可证", "licensePurchaseSites": "购买更多站点", "licenseSitesUsedMax": "使用了 {usedSites}/{maxSites} 个站点", - "licenseSitesUsed": "{count, plural, =0 {# 站点} =1 {# 站点} other {# 站点}}", - "licensePurchaseDescription": "请选择您希望 {selectedMode, select, license {直接购买许可证,您可以随时增加更多站点。} other {为现有许可证购买更多站点}}", - "licenseFee": "许可证费用", - "licensePriceSite": "每个站点的价格", + "licenseSitesUsed": "{count, plural, =0 {# 站点} =1 {# 站点} other {#站点}}", + "licensePurchaseDescription": "选择你想要多少站点 {selectedMode, select, license {购买许可证。 您可以稍后添加更多网站} other {添加到您现有的许可证}}", + "licenseFee": "许可费", + "licensePriceSite": "每个站点价格", "total": "总计", "licenseContinuePayment": "继续付款", "pricingPage": "定价页面", - "pricingPortal": "前往付款页面", + "pricingPortal": "查看购买门户网站", "licensePricingPage": "关于最新的价格和折扣,请访问 ", "invite": "邀请", "inviteRegenerate": "重新生成邀请", @@ -365,7 +365,7 @@ "inviteRemoved": "邀请已删除", "inviteRemovedDescription": "为 {email} 创建的邀请已删除", "inviteQuestionRemove": "您确定要删除 {email} 的邀请吗?", - "inviteMessageRemove": "一旦删除,这个邀请将不再有效。", + "inviteMessageRemove": "一旦删除,这个邀请将不再有效。您可以随时重新邀请用户。", "inviteMessageConfirm": "要确认,请在下面输入邀请的电子邮件地址。", "inviteQuestionRegenerate": "您确定要重新邀请 {email} 吗?这将会撤销掉之前的邀请", "inviteRemoveConfirm": "确认删除邀请", @@ -373,7 +373,7 @@ "inviteSent": "邀请邮件已成功发送至 {email}。", "inviteSentEmail": "发送电子邮件通知给用户", "inviteGenerate": "已为 {email} 创建新的邀请。", - "inviteDuplicateError": "重复的邀请", + "inviteDuplicateError": "Duplicate Invite", "inviteDuplicateErrorDescription": "此用户的邀请已存在。", "inviteRateLimitError": "超出速率限制", "inviteRateLimitErrorDescription": "您超过了每小时3次再生的限制。请稍后再试。", @@ -463,7 +463,7 @@ "targetErrorFetchDescription": "获取目标时出错", "siteErrorFetch": "获取资源失败", "siteErrorFetchDescription": "获取资源时出错", - "targetErrorDuplicate": "重复的目标", + "targetErrorDuplicate": "Duplicate target", "targetErrorDuplicateDescription": "具有这些设置的目标已存在", "targetWireGuardErrorInvalidIp": "Invalid target IP", "targetWireGuardErrorInvalidIpDescription": "目标IP必须在站点子网内", @@ -479,9 +479,9 @@ "proxyUpdatedDescription": "您的代理设置已成功更新", "proxyErrorUpdate": "更新代理设置失败", "proxyErrorUpdateDescription": "更新代理设置时出错", - "targetAddr": "IP / 域名", + "targetAddr": "IP / Hostname", "targetPort": "端口", - "targetProtocol": "协议", + "targetProtocol": "Protocol", "targetTlsSettings": "HTTPS & TLS 设置", "targetTlsSettingsDescription": "配置资源的 TLS 设置", "targetTlsSettingsAdvanced": "高级TLS设置", @@ -493,7 +493,7 @@ "targetStickySessions": "启用置顶会话", "targetStickySessionsDescription": "将连接保持在同一个后端目标的整个会话中。", "methodSelect": "选择方法", - "targetSubmit": "添加目标", + "targetSubmit": "Add Target", "targetNoOne": "没有目标。使用表单添加目标。", "targetNoOneDescription": "在上面添加多个目标将启用负载平衡。", "targetsSubmit": "保存目标", @@ -504,7 +504,7 @@ "proxyAdditionalSubmit": "保存代理设置", "subnetMaskErrorInvalid": "子网掩码无效。必须在 0 和 32 之间。", "ipAddressErrorInvalidFormat": "无效的 IP 地址格式", - "ipAddressErrorInvalidOctet": "无效的 IP 地址", + "ipAddressErrorInvalidOctet": "无效的 IP 地址octet", "path": "路径", "ipAddressRange": "IP 范围", "rulesErrorFetch": "获取规则失败", @@ -520,7 +520,7 @@ "rulesErrorUpdate": "更新规则失败", "rulesErrorUpdateDescription": "更新规则时出错", "rulesUpdated": "启用规则", - "rulesUpdatedDescription": "规则已更新", + "rulesUpdatedDescription": "规则评价已更新", "rulesMatchIpAddressRangeDescription": "以 CIDR 格式输入地址(如:103.21.244.0/22)", "rulesMatchIpAddress": "输入IP地址(例如,103.21.244.12)", "rulesMatchUrl": "输入一个 URL 路径或模式(例如/api/v1/todos 或 /api/v1/*)", @@ -533,18 +533,18 @@ "ruleErrorUpdate": "操作失败", "ruleErrorUpdateDescription": "保存过程中发生错误", "rulesPriority": "优先权", - "rulesAction": "行为", - "rulesMatchType": "匹配类型", + "rulesAction": "行 动", + "rulesMatchType": "比赛类型", "value": "值", "rulesAbout": "关于规则", - "rulesAboutDescription": "规则使您能够依据特定条件控制资源访问权限。您可以创建基于 IP 地址或 URL 路径的规则,以允许或拒绝访问。", + "rulesAboutDescription": "规则允许您根据一组标准控制对资源的访问。 您可以创建规则允许或拒绝基于IP地址或 URL 路径的访问。", "rulesActions": "行动", "rulesActionAlwaysAllow": "总是允许:绕过所有身份验证方法", "rulesActionAlwaysDeny": "总是拒绝:阻止所有请求;无法尝试验证", "rulesMatchCriteria": "匹配条件", "rulesMatchCriteriaIpAddress": "匹配一个指定的 IP 地址", "rulesMatchCriteriaIpAddressRange": "在 CIDR 符号中匹配一系列IP地址", - "rulesMatchCriteriaUrl": "匹配一个 URL 路径或模式", + "rulesMatchCriteriaUrl": "匹配一个 URL 路径或图案", "rulesEnable": "启用规则", "rulesEnableDescription": "启用或禁用此资源的规则评估", "rulesResource": "资源规则配置", @@ -562,10 +562,10 @@ "domainsErrorFetch": "获取域名出错", "domainsErrorFetchDescription": "获取域时出错", "none": "无", - "unknown": "未知", + "unknown": "未知的", "resources": "资源", - "resourcesDescription": "资源是您私有网络中运行的应用程序的代理。您可以为私有网络中的任何 HTTP/HTTPS 或 TCP/UDP 服务创建资源。每个资源都必须连接到一个站点,以通过加密的 WireGuard 隧道实现私密且安全的连接。", - "resourcesWireGuardConnect": "采用 WireGuard 提供的加密安全连接", + "resourcesDescription": "资源是在您的私人网络上运行的应用程序的代理。在您的私人网络上为任何 HTTP/HTTPS 或raw TCP/UDP 服务创建资源。 每个资源必须连接到一个站点,以便通过加密的 WireGuard 隧道启用私密安全连接。", + "resourcesWireGuardConnect": "与Wire护卫加密安全连接", "resourcesMultipleAuthenticationMethods": "配置多个身份验证方法", "resourcesUsersRolesAccess": "基于用户和角色的访问控制", "resourcesErrorUpdate": "切换资源失败", @@ -574,7 +574,7 @@ "shareLink": "{resource} 的分享链接", "resourceSelect": "选择资源", "shareLinks": "分享链接", - "share": "分享链接", + "share": "可共享链接", "shareDescription2": "创建资源共享链接。链接提供对资源的临时或无限制访问。 当您创建链接时,您可以配置链接的到期时间。", "shareEasyCreate": "轻松创建和分享", "shareConfigurableExpirationDuration": "可配置的过期时间", @@ -585,29 +585,29 @@ "unknownCommand": "未知命令", "newtErrorFetchReleases": "无法获取版本信息: {err}", "newtErrorFetchLatest": "无法获取最新版信息: {err}", - "newtEndpoint": "Newt 端点", + "newtEndpoint": "Newt Endpoint", "newtId": "Newt ID", - "newtSecretKey": "Newt 私钥", - "architecture": "架构", + "newtSecretKey": "新的秘密密钥", + "architecture": "结构", "sites": "站点", "siteWgAnyClients": "使用任何 WireGuard 客户端连接。您必须使用对等IP解决您的内部资源。", "siteWgCompatibleAllClients": "与所有WireGuard客户端兼容", "siteWgManualConfigurationRequired": "需要手动配置", "userErrorNotAdminOrOwner": "用户不是管理员或所有者", - "pangolinSettings": "设置 - Pangolin", + "pangolinSettings": "设置-Pangolin", "accessRoleYour": "您的角色:", "accessRoleSelect2": "选择角色", "accessUserSelect": "选择一个用户", "otpEmailEnter": "输入电子邮件", "otpEmailEnterDescription": "在输入字段输入后按回车键添加电子邮件。", - "otpEmailErrorInvalid": "无效的邮箱地址。通配符(*)必须占据整个开头部分。", - "otpEmailSmtpRequired": "需要先配置SMTP", + "otpEmailErrorInvalid": "无效的电子邮件地址。通用卡 (*) 必须是整个本地部分。", + "otpEmailSmtpRequired": "需要SMTP", "otpEmailSmtpRequiredDescription": "必须在服务器上启用SMTP才能使用一次性密码验证。", "otpEmailTitle": "一次性密码", "otpEmailTitleDescription": "资源访问需要基于电子邮件的身份验证", "otpEmailWhitelist": "电子邮件白名单", "otpEmailWhitelistList": "白名单邮件", - "otpEmailWhitelistListDescription": "只有拥有这些电子邮件地址的用户才能访问此资源。 他们将被提示输入一次性密码发送到他们的电子邮件。 通配符 (*@example.com) 可以用来允许来自一个域名的任何电子邮件地址。", + "otpEmailWhitelistListDescription": "只有拥有这些电子邮件地址的用户才能访问此资源。 他们将被提示输入一次性密码发送到他们的电子邮件。 通配符 (*@example.com) 可以用来允许来自一个域的任何电子邮件地址。", "otpEmailWhitelistSave": "保存白名单", "passwordAdd": "添加密码", "passwordRemove": "删除密码", @@ -642,12 +642,12 @@ "resourcePincode": "PIN 码", "resourcePincodeSubmit": "启用 PIN 码保护", "resourcePincodeProtection": "PIN 码保护 {status}", - "resourcePincodeRemove": "资源 PIN 码已删除", - "resourcePincodeRemoveDescription": "已成功删除资源 PIN 码", - "resourcePincodeSetup": "资源 PIN 码已设置", - "resourcePincodeSetupDescription": "资源 PIN 码已成功设置", - "resourcePincodeSetupTitle": "设置 PIN 码", - "resourcePincodeSetupTitleDescription": "设置 PIN 码来保护此资源", + "resourcePincodeRemove": "资源粉码已删除", + "resourcePincodeRemoveDescription": "已成功删除资源密码", + "resourcePincodeSetup": "资源PIN 码已设置", + "resourcePincodeSetupDescription": "资源固定码已成功设置", + "resourcePincodeSetupTitle": "设置粉码", + "resourcePincodeSetupTitleDescription": "设置置顶码来保护此资源", "resourceRoleDescription": "管理员总是可以访问此资源。", "resourceUsersRoles": "用户和角色", "resourceUsersRolesDescription": "配置用户和角色可以访问此资源", @@ -658,14 +658,14 @@ "ssoUseDescription": "对于所有启用此功能的资源,现有用户只需登录一次。", "proxyErrorInvalidPort": "无效的端口号", "subdomainErrorInvalid": "无效的子域", - "domainErrorFetch": "获取域名失败", - "domainErrorFetchDescription": "获取域名时出错", + "domainErrorFetch": "获取域名出错", + "domainErrorFetchDescription": "获取域时出错", "resourceErrorUpdate": "更新资源失败", "resourceErrorUpdateDescription": "更新资源时出错", "resourceUpdated": "资源已更新", "resourceUpdatedDescription": "资源已成功更新", - "resourceErrorTransfer": "转移资源失败", - "resourceErrorTransferDescription": "转移资源时出错", + "resourceErrorTransfer": "传输资源失败", + "resourceErrorTransferDescription": "传输资源时出错", "resourceTransferred": "资源已传输", "resourceTransferredDescription": "资源已成功传输", "resourceErrorToggle": "切换资源失败", @@ -675,9 +675,9 @@ "resourceGeneral": "常规设置", "resourceGeneralDescription": "配置此资源的常规设置", "resourceEnable": "启用资源", - "resourceTransfer": "转移资源", + "resourceTransfer": "传输资源", "resourceTransferDescription": "将此资源转移到另一个站点", - "resourceTransferSubmit": "转移资源", + "resourceTransferSubmit": "传输资源", "siteDestination": "目标站点", "searchSites": "搜索站点", "accessRoleCreate": "创建角色", @@ -704,13 +704,13 @@ "licenseTierProfessional": "专业许可证", "licenseTierEnterprise": "企业许可证", "licenseTierCommercial": "商业许可证", - "licensed": "已授权", - "yes": "是", + "licensed": "许可的", + "yes": "否", "no": "否", "sitesAdditional": "其他站点", "licenseKeys": "许可证密钥", - "sitestCountDecrease": "减少站点数量", - "sitestCountIncrease": "增加站点数量", + "sitestCountDecrease": "减少站点计数", + "sitestCountIncrease": "增加站点计数", "idpManage": "管理身份提供商", "idpManageDescription": "查看和管理系统中的身份提供商", "idpDeletedDescription": "身份提供商删除成功", @@ -723,12 +723,12 @@ "idp": "身份提供商", "idpSearch": "搜索身份提供者...", "idpAdd": "添加身份提供商", - "idpClientIdRequired": "客户端ID 是必需的。", - "idpClientSecretRequired": "客户端密钥是必需的。", - "idpErrorAuthUrlInvalid": "身份验证URL 必须是有效的 URL。", - "idpErrorTokenUrlInvalid": "令牌URL 必须是有效的 URL。", - "idpPathRequired": "标识符路径是必需的。", - "idpScopeRequired": "授权范围是必需的。", + "idpClientIdRequired": "客户端ID是必需的。", + "idpClientSecretRequired": "客户端密码是必需的。", + "idpErrorAuthUrlInvalid": "身份验证URL必须是有效的 URL。", + "idpErrorTokenUrlInvalid": "令牌URL必须是有效的 URL。", + "idpPathRequired": "标识路径是必需的。", + "idpScopeRequired": "范围是必需的。", "idpOidcDescription": "配置 OpenID 连接身份提供商", "idpCreatedDescription": "身份提供商创建成功", "idpCreate": "创建身份提供商", @@ -748,24 +748,24 @@ "idpClientSecret": "客户端密钥", "idpClientSecretDescription": "来自身份提供商的 OAuth2 客户端密钥", "idpAuthUrl": "授权 URL", - "idpAuthUrlDescription": "OAuth2 授权端点的 URL", - "idpTokenUrl": "令牌 URL", - "idpTokenUrlDescription": "OAuth2 令牌端点的 URL", - "idpOidcConfigureAlert": "重要提示", - "idpOidcConfigureAlertDescription": "创建身份提供方后,您需要在其设置中配置回调 URL。回调 URL 会在创建成功后提供。", + "idpAuthUrlDescription": "OAuth2 授权终点 URL", + "idpTokenUrl": "令牌网址", + "idpTokenUrlDescription": "OAuth2 令牌端点URL", + "idpOidcConfigureAlert": "重要信息", + "idpOidcConfigureAlertDescription": "在创建身份提供商后,您需要在身份提供商的设置中配置回调URL。 成功创建后将提供回调URL。", "idpToken": "令牌配置", - "idpTokenDescription": "配置如何从 ID 令牌中提取用户信息", + "idpTokenDescription": "配置如何从ID令牌中提取用户信息", "idpJmespathAbout": "关于 JMESPath", - "idpJmespathAboutDescription": "以下路径使用 JMESPath 语法从 ID 令牌中提取值。", - "idpJmespathAboutDescriptionLink": "了解更多 JMESPath 信息", - "idpJmespathLabel": "标识符路径", - "idpJmespathLabelDescription": "ID 令牌中用户标识符的路径", - "idpJmespathEmailPathOptional": "邮箱路径(可选)", - "idpJmespathEmailPathOptionalDescription": "ID 令牌中用户邮箱的路径", - "idpJmespathNamePathOptional": "用户名路径(可选)", - "idpJmespathNamePathOptionalDescription": "ID 令牌中用户名的路径", - "idpOidcConfigureScopes": "作用域(Scopes)", - "idpOidcConfigureScopesDescription": "以空格分隔的 OAuth2 请求作用域列表", + "idpJmespathAboutDescription": "下面的路径使用 JMESPath 语法从ID标记中提取值。", + "idpJmespathAboutDescriptionLink": "了解更多关于 JMESPath", + "idpJmespathLabel": "标识路径", + "idpJmespathLabelDescription": "用户标识符的路径", + "idpJmespathEmailPathOptional": "电子邮件路径(可选)", + "idpJmespathEmailPathOptionalDescription": "用户的 ID 令牌电子邮件的路径", + "idpJmespathNamePathOptional": "名称路径(可选)", + "idpJmespathNamePathOptionalDescription": "用户名在ID令牌中的路径", + "idpOidcConfigureScopes": "范围", + "idpOidcConfigureScopesDescription": "要请求的 OAuth2 范围空间分隔列表", "idpSubmit": "创建身份提供商", "orgPolicies": "组织策略", "idpSettings": "{idpName} 设置", @@ -789,13 +789,13 @@ "defaultMappingsRole": "默认角色映射", "defaultMappingsRoleDescription": "此表达式的结果必须返回组织中定义的角色名称作为字符串。", "defaultMappingsOrg": "默认组织映射", - "defaultMappingsOrgDescription": "此表达式必须返回 组织ID 或 true 才能允许用户访问组织。", + "defaultMappingsOrgDescription": "此表达式必须返回 org ID或true 才能允许用户访问组织。", "defaultMappingsSubmit": "保存默认映射", "orgPoliciesEdit": "编辑组织策略", "org": "组织", "orgSelect": "选择组织", "orgSearch": "搜索", - "orgNotFound": "找不到组织。", + "orgNotFound": "找不到 org 。", "roleMappingPathOptional": "角色映射路径(可选)", "orgMappingPathOptional": "组织映射路径(可选)", "orgPolicyUpdate": "更新策略", @@ -822,7 +822,7 @@ "emailVerifyResend": "没有收到代码?点击此处重新发送", "passwordNotMatch": "密码不匹配", "signupError": "注册时出错", - "pangolinLogoAlt": "Pangolin Logo", + "pangolinLogoAlt": "邦戈林徽标", "inviteAlready": "看起来您已被邀请!", "inviteAlreadyDescription": "要接受邀请,您必须登录或创建一个帐户。", "signupQuestion": "已经有一个帐户?", @@ -851,13 +851,13 @@ "otpEmail": "一次性密码 (OTP)", "otpEmailSubmit": "提交 OTP", "backToEmail": "回到电子邮件", - "noSupportKey": "服务器当前未使用支持者密钥,欢迎支持本项目!", + "noSupportKey": "服务器运行时没有支持者密钥。请考虑支持项目!", "accessDenied": "访问被拒绝", - "accessDeniedDescription": "当前账户无权访问此资源。如认为这是错误,请与管理员联系。", + "accessDeniedDescription": "您无权访问此资源。如果这是错误,请与管理员联系。", "accessTokenError": "检查访问令牌时出错", "accessGranted": "已授予访问", "accessUrlInvalid": "访问 URL 无效", - "accessGrantedDescription": "您已获准访问此资源,正在为您跳转...", + "accessGrantedDescription": "您已获准访问此资源。重定向您...", "accessUrlInvalidDescription": "此共享访问URL无效。请联系资源所有者获取新URL。", "tokenInvalid": "无效的令牌", "pincodeInvalid": "无效的代码", @@ -866,9 +866,9 @@ "passwordResetSuccess": "密码重置成功!返回登录...", "passwordReset": "重置密码", "passwordResetDescription": "按照步骤重置您的密码", - "passwordResetSent": "我们将发送一个验证码到这个电子邮件地址。", - "passwordResetCode": "验证码", - "passwordResetCodeDescription": "请检查您的电子邮件以获取验证码。", + "passwordResetSent": "我们将发送一个密码重置代码到这个电子邮件地址。", + "passwordResetCode": "Reset Code", + "passwordResetCodeDescription": "请检查您的电子邮件以获取重置代码。", "passwordNew": "新密码", "passwordNewConfirm": "确认新密码", "pincodeAuth": "验证器代码", @@ -898,7 +898,7 @@ "pangolinSetup": "Setup - Pangolin", "orgNameRequired": "组织名称是必需的", "orgIdRequired": "组织ID是必需的", - "orgErrorCreate": "创建组织时出错", + "orgErrorCreate": "创建 org 时出错", "pageNotFound": "找不到页面", "pageNotFoundDescription": "哎呀!您正在查找的页面不存在。", "overview": "概览", @@ -923,13 +923,13 @@ "tagWarnDuplicate": "未添加重复标签 {tagText}", "supportKeyInvalid": "无效密钥", "supportKeyInvalidDescription": "您的支持者密钥无效。", - "supportKeyValid": "有效的密钥", + "supportKeyValid": "Valid Key", "supportKeyValidDescription": "您的支持者密钥已被验证。感谢您的支持!", "supportKeyErrorValidationDescription": "验证支持者密钥失败。", - "supportKey": "支持开发和通过一个 Pangolin !", - "supportKeyDescription": "购买支持者钥匙,帮助我们继续为社区发展 Pangolin 。 您的贡献使我们能够投入更多的时间来维护和添加所有人的新功能。 我们永远不会用这个来支付墙上的功能。这与任何商业版是分开的。", - "supportKeyPet": "您还可以领养并见到属于自己的 Pangolin!", - "supportKeyPurchase": "付款通过 GitHub 进行处理,之后您可以在以下位置获取您的密钥:", + "supportKey": "支持开发和通过一个潘戈林!", + "supportKeyDescription": "购买支持者钥匙,帮助我们继续为社区发展潘戈林。 您的贡献使我们能够投入更多的时间来维护和添加所有人的新功能。 我们永远不会用这个来支付墙上的功能。这与任何商业版是分开的。", + "supportKeyPet": "你也会通过并与你自己的宠物Pangolin会面!", + "supportKeyPurchase": "付款通过 GitHub 处理。然后您可以检索您的密钥", "supportKeyPurchaseLink": "我们的网站", "supportKeyPurchase2": "并在这里兑换。", "supportKeyLearnMore": "了解更多。", @@ -944,15 +944,15 @@ "supportKeyRedeem": "兑换支持者密钥", "supportKeyHideSevenDays": "隐藏7天", "supportKeyEnter": "输入支持者密钥", - "supportKeyEnterDescription": "见到你自己的 Pangolin!", - "githubUsername": "GitHub 用户名", + "supportKeyEnterDescription": "见到你自己的宠物Pangolin!", + "githubUsername": "GitHub Username", "supportKeyInput": "支持者密钥", "supportKeyBuy": "购买支持者密钥", "logoutError": "注销错误", "signingAs": "登录为", "serverAdmin": "服务器管理员", - "otpEnable": "启用双因子认证", - "otpDisable": "禁用双因子认证", + "otpEnable": "启用双因子", + "otpDisable": "禁用双因子", "logout": "登出", "licenseTierProfessionalRequired": "需要专业版", "licenseTierProfessionalRequiredDescription": "此功能仅在专业版可用。", @@ -979,11 +979,11 @@ "actionSetResourcePincode": "设置资源粉码", "actionSetResourceEmailWhitelist": "设置资源电子邮件白名单", "actionGetResourceEmailWhitelist": "获取资源电子邮件白名单", - "actionCreateTarget": "创建目标", + "actionCreateTarget": "Create Target", "actionDeleteTarget": "删除目标", "actionGetTarget": "获取目标", "actionListTargets": "列表目标", - "actionUpdateTarget": "更新目标", + "actionUpdateTarget": "Update Target", "actionCreateRole": "创建角色", "actionDeleteRole": "删除角色", "actionGetRole": "获取角色", @@ -1002,7 +1002,7 @@ "actionListResourceRules": "列出资源规则", "actionUpdateResourceRule": "更新资源规则", "actionListOrgs": "列出组织", - "actionCheckOrgId": "检查组织ID", + "actionCheckOrgId": "检查 ID", "actionCreateOrg": "创建组织", "actionDeleteOrg": "删除组织", "actionListApiKeys": "列出API密钥", @@ -1013,15 +1013,15 @@ "actionCreateIdp": "创建IDP", "actionUpdateIdp": "更新IDP", "actionDeleteIdp": "删除IDP", - "actionListIdps": "列出IDP", + "actionListIdps": "列出国内流离失所者", "actionGetIdp": "获取IDP", - "actionCreateIdpOrg": "创建 IDP组织策略", - "actionDeleteIdpOrg": "删除 IDP组织策略", - "actionListIdpOrgs": "列出 IDP组织", - "actionUpdateIdpOrg": "更新 IDP组织", + "actionCreateIdpOrg": "创建IDP Org 策略", + "actionDeleteIdpOrg": "删除IDP Org 策略", + "actionListIdpOrgs": "列出国内流离失所者组织", + "actionUpdateIdpOrg": "更新IDP Org", "noneSelected": "未选择", "orgNotFound2": "未找到组织。", - "searchProgress": "搜索中...", + "searchProgress": "搜索...", "create": "创建", "orgs": "组织", "loginError": "登录时出错", @@ -1031,13 +1031,13 @@ "otpAuthSubmit": "提交代码", "idpContinue": "或者继续", "otpAuthBack": "返回登录", - "navbar": "导航菜单", + "navbar": "Navigation Menu", "navbarDescription": "应用程序的主导航菜单", "navbarDocsLink": "文件", "commercialEdition": "商业版", "otpErrorEnable": "无法启用 2FA", - "otpErrorEnableDescription": "启用 2FA 时出错", - "otpSetupCheckCode": "请输入您的6位数字代码", + "otpErrorEnableDescription": "启用2FA 时出错", + "otpSetupCheckCode": "请输入一个6位数字", "otpSetupCheckCodeRetry": "无效的代码。请重试。", "otpSetup": "启用两步验证", "otpSetupDescription": "用额外的保护层来保护您的帐户", @@ -1061,20 +1061,20 @@ "copyTextFailed": "复制文本失败: ", "copyTextClipboard": "复制到剪贴板", "inviteErrorInvalidConfirmation": "无效确认", - "passwordRequired": "必须填写密码", + "passwordRequired": "密码是必需的", "allowAll": "允许所有", "permissionsAllowAll": "允许所有权限", - "githubUsernameRequired": "必须填写 GitHub 用户名", - "supportKeyRequired": "必须填写支持者密钥", - "passwordRequirementsChars": "密码至少需要 8 个字符", + "githubUsernameRequired": "GitHub 用户名是必需的", + "supportKeyRequired": "支持者密钥是必需的", + "passwordRequirementsChars": "密码必须至少 8 个字符", "language": "语言", "verificationCodeRequired": "必须输入代码", "userErrorNoUpdate": "没有要更新的用户", "siteErrorNoUpdate": "没有要更新的站点", "resourceErrorNoUpdate": "没有可更新的资源", "authErrorNoUpdate": "没有要更新的身份验证信息", - "orgErrorNoUpdate": "没有要更新的组织", - "orgErrorNoProvided": "未提供组织", + "orgErrorNoUpdate": "没有要更新的 org", + "orgErrorNoProvided": "未提供 org", "apiKeysErrorNoUpdate": "没有要更新的 API 密钥", "sidebarOverview": "概览", "sidebarHome": "首页", @@ -1090,4 +1090,4 @@ "sidebarAllUsers": "所有用户", "sidebarIdentityProviders": "身份提供商", "sidebarLicense": "证书" -} +} \ No newline at end of file