diff --git a/messages/zh-CN.json b/messages/zh-CN.json
index cabee95be..e25c82e52 100644
--- a/messages/zh-CN.json
+++ b/messages/zh-CN.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": "操作系统",
@@ -148,16 +150,16 @@
"siteCredentialsSaveDescription": "您只能看到一次。请确保将其复制并保存到一个安全的地方。",
"siteInfo": "站点信息",
"status": "状态",
- "shareTitle": "管理共享链接",
+ "shareTitle": "管理可共享链接",
"shareDescription": "创建可共享的链接,允许临时或永久访问代理资源",
- "shareSearch": "搜索共享链接...",
- "shareCreate": "创建共享链接",
+ "shareSearch": "搜索可共享链接……",
+ "shareCreate": "创建可共享链接",
"shareErrorDelete": "删除链接失败",
"shareErrorDeleteMessage": "删除链接时出错",
"shareDeleted": "链接已删除",
"shareDeletedDescription": "链接已删除",
- "shareDelete": "删除共享链接",
- "shareDeleteConfirm": "确认删除共享链接",
+ "shareDelete": "删除可共享链接",
+ "shareDeleteConfirm": "确认删除可共享链接",
"shareQuestionRemove": "您确定要删除这个共享链接吗?",
"shareMessageRemove": "删除后,该链接将不再可用,使用它的任何人将失去对资源的访问权限。",
"shareTokenDescription": "访问令牌可以通过两种方式传递:作为查询参数或请求标题。 每次验证访问请求都必须从客户端传递。",
@@ -177,6 +179,7 @@
"shareCreateDescription": "任何具有此链接的人都可以访问资源",
"shareTitleOptional": "标题 (可选)",
"sharePathOptional": "路径(可选)",
+ "sharePathDescription": "认证后,链接将把用户重定向到此路径。",
"expireIn": "过期时间",
"neverExpire": "永不过期",
"shareExpireDescription": "过期时间是链接可以使用并提供对资源的访问时间。 此时间后,链接将不再工作,使用此链接的用户将失去对资源的访问。",
@@ -200,8 +203,8 @@
"shareErrorSelectResource": "请选择一个资源",
"proxyResourceTitle": "管理公共资源",
"proxyResourceDescription": "创建和管理可通过 Web 浏览器公开访问的资源",
- "publicResourcesBannerTitle": "基于Web的公共访问",
- "publicResourcesBannerDescription": "公共资源是可以通过网络浏览器在互联网上任何人访问的HTTPS或TCP/UDP代理。与私人资源不同,它们不需要客户端软件,并且可以包含身份和上下文感知访问策略。",
+ "publicResourcesBannerTitle": "基于 Web 的公共访问",
+ "publicResourcesBannerDescription": "公共资源是 HTTPS 代理,可以通过网络浏览器在互联网上的任何人访问。与私人资源不同,它们不需要客户端软件,并且可以包含身份和上下文感知的访问策略。",
"clientResourceTitle": "管理私有资源",
"clientResourceDescription": "创建和管理只能通过连接客户端访问的资源",
"privateResourcesBannerTitle": "零信任的私人访问",
@@ -209,15 +212,19 @@
"resourcesSearch": "搜索资源...",
"resourceAdd": "添加资源",
"resourceErrorDelte": "删除资源时出错",
- "resourcePoliciesTitle": "管理资源策略",
- "resourcePoliciesAttachedResourcesColumnTitle": "附加资源",
+ "resourcePoliciesBannerTitle": "重用身份验证和访问规则",
+ "resourcePoliciesBannerDescription": "共享资源策略可让您定义身份验证方法和访问规则,然后将其应用到多个公共资源。当您更新策略时,每个链接的资源都会自动继承更改。",
+ "resourcePoliciesBannerButtonText": "了解更多",
+ "resourcePoliciesTitle": "管理公共资源策略",
+ "resourcePoliciesAttachedResourcesColumnTitle": "资源",
"resourcePoliciesAttachedResources": "{count} 个资源",
+ "resourcePoliciesAttachedResourcesCount": "{count, plural, 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": "启用规则",
@@ -765,15 +774,24 @@
"rulesMatchIpAddressRangeDescription": "以 CIDR 格式输入地址(如:103.21.244.0/22)",
"rulesMatchIpAddress": "输入IP地址(例如,103.21.244.12)",
"rulesMatchUrl": "输入一个 URL 路径或模式(例如/api/v1/todos 或 /api/v1/*)",
- "rulesErrorInvalidPriority": "无效的优先级",
- "rulesErrorInvalidPriorityDescription": "请输入一个有效的优先级",
- "rulesErrorDuplicatePriority": "重复的优先级",
- "rulesErrorDuplicatePriorityDescription": "请输入唯一的优先级",
+ "rulesErrorInvalidPriority": "优先级无效",
+ "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": "PIN 码",
+ "policyAuthPincodeDescription": "要求使用短数字代码以访问资源",
+ "policyAuthPincodeSummary": "6 位数字 PIN 码已设定",
+ "policyAuthEmailTitle": "电子邮件白名单",
+ "policyAuthEmailDescription": "允许列出的电子邮件地址使用一次性密码",
+ "policyAuthEmailSummary": "允许 {count} 个地址",
+ "policyAuthEmailOtpCallout": "启用电子邮件白名单将在登录时向访问者的电子邮件发送一次性密码。",
+ "policyAuthHeaderAuthTitle": "基础标题认证",
+ "policyAuthHeaderAuthDescription": "在每次请求上验证自定义 HTTP 标头名称和值",
+ "policyAuthHeaderAuthSummary": "标头已配置",
+ "policyAuthHeaderName": "标头名称",
+ "policyAuthHeaderValue": "预期值",
+ "policyAuthSetPasscode": "设定密码",
+ "policyAuthSetPincode": "设置 PIN 码",
+ "policyAuthSetEmailWhitelist": "设置电子邮件白名单",
+ "policyAuthSetHeaderAuth": "设置基础标题认证",
+ "policyAccessRulesTitle": "访问规则",
+ "policyAccessRulesEnableDescription": "启用后,规则将按下降顺序进行评估,直到某条规则评估结果为真。",
+ "policyAccessRulesFirstMatch": "规则将自上而下进行评估。首次匹配的规则决定结果。",
+ "policyAccessRulesHowItWorks": "规则通过路径、IP 地址、位置或其他标准匹配请求。每个规则都会应用操作:绕过身份验证、阻止访问或通过身份验证。如果没有规则匹配,流量将继续通过身份验证。",
+ "policyAccessRulesFallthroughOff": "禁用规则后,所有流量将通过身份验证。",
+ "policyAccessRulesFallthroughOn": "没有规则匹配时,流量将通过身份验证。",
+ "rulesPlaceholderCidr": "10.0.0.0/8",
+ "rulesPlaceholderPath": "/admin/*",
+ "rulesPlaceholderGeo": "RU, KP",
"rulesSave": "保存规则",
"resourceErrorCreate": "创建资源时出错",
"resourceErrorCreateDescription": "创建资源时出错",
@@ -824,9 +883,9 @@
"resourcesErrorUpdateDescription": "更新资源时出错",
"access": "访问权限",
"accessControl": "访问控制",
- "shareLink": "{resource} 的分享链接",
+ "shareLink": "{resource} 可共享链接",
"resourceSelect": "选择资源",
- "shareLinks": "分享链接",
+ "shareLinks": "可共享链接",
"share": "分享链接",
"shareDescription2": "创建资源的可共享链接。链接提供了对您资源的临时或无限制访问。 当您创建链接时,您可以配置链接的到期时间。",
"shareEasyCreate": "轻松创建和分享",
@@ -916,10 +975,18 @@
"resourceRoleDescription": "管理员总是可以访问此资源。",
"resourcePolicySelectTitle": "资源访问策略",
"resourcePolicySelectDescription": "选择用于认证的资源策略类型",
+ "resourcePolicyTypeLabel": "策略类型",
+ "resourcePolicyLabel": "资源策略",
"resourcePolicyInline": "内联资源策略",
"resourcePolicyInlineDescription": "仅限于此资源的访问策略",
"resourcePolicyShared": "共享资源策略",
- "resourcePolicySharedDescription": "此资源使用共享策略。策略级设置(身份验证方法、电子邮件白名单)被锁定。您可以在下方添加特定资源的规则、角色和用户。",
+ "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, other {# 标签}}",
"labelOverflowCount": "+{count, plural, 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 套接字标签擦除。必须为站点连接器提供套接字路径。阅读文档以了解相关工作原理。",
"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 {No items to import} one {1 item to import} other {# items to import}}",
+ "roleTextImportTotalCount": "{existing} 个现有 + {imported} 个导入 = {total} 个总计",
+ "roleTextImportConfirm": "导入",
+ "roleTextImportInvalidFile": "不支持的文件类型",
+ "roleTextImportInvalidFileDescription": "仅支持 .txt 和 .csv 文件。",
+ "roleTextImportEmpty": "文件中未找到项目",
+ "roleTextImportEmptyDescription": "文件不包含任何可导入的项目。",
"retryAttempts": "重试次数",
"expectedResponseCodes": "期望响应代码",
"expectedResponseCodesDescription": "HTTP 状态码表示健康状态。如留空,200-300 被视为健康。",
@@ -2875,9 +2973,10 @@
"enableProxyProtocol": "启用代理协议",
"proxyProtocolInfo": "为TCP后端保留客户端IP地址",
"proxyProtocolVersion": "代理协议版本",
- "version1": " 版本 1 (推荐)",
+ "version1": "版本 1(推荐)",
"version2": "版本 2",
- "versionDescription": "版本 1 是基于文本和广泛支持的版本。版本 2 是二进制和更有效率但不那么兼容。",
+ "version1Description": "基于文本和广泛支持。确保服务器传输添加到动态配置。",
+ "version2Description": "二进制且更有效率但兼容性较低。确保服务器传输添加到动态配置。",
"warning": "警告",
"proxyProtocolWarning": "后端应用程序必须配置为接受代理协议连接。 如果您的后端不支持代理协议,启用此功能将会中断所有连接,只有当您知道自己在做什么时才能启用此功能。 请务必从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 推送身份验证失败。您以用户身份登录了吗?",
+ "sshTerminalError": "错误: {error}",
+ "sshConnectionClosedCode": "连接关闭 (代码 {code})",
+ "sshPrivateKeyPlaceholder": "-----BEGIN OPENSSH PRIVATE KEY-----",
+ "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} 个文件复制到远程剪贴板——在远程桌面上按 Ctrl+V 进行粘贴",
+ "rdpUploadFailed": "上传失败",
+ "rdpUnicodeKeyboardMode": "Unicode 键盘模式",
+ "sessionToolbarShow": "显示工具栏",
+ "sessionToolbarHide": "隐藏工具栏"
}