New translations en-us.json (Chinese Simplified)

This commit is contained in:
Owen Schwartz
2025-10-04 21:10:25 -07:00
parent 71ba980757
commit c8bddd4289

View File

@@ -94,9 +94,9 @@
"siteNewtTunnelDescription": "最简单的方式来连接到您的网络。不需要任何额外设置。", "siteNewtTunnelDescription": "最简单的方式来连接到您的网络。不需要任何额外设置。",
"siteWg": "基本 WireGuard", "siteWg": "基本 WireGuard",
"siteWgDescription": "使用任何 WireGuard 客户端来建立隧道。需要手动配置 NAT。", "siteWgDescription": "使用任何 WireGuard 客户端来建立隧道。需要手动配置 NAT。",
"siteWgDescriptionSaas": "使用任何WireGuard客户端建立隧道。需要手动配置NAT。仅适用于自托管节点。", "siteWgDescriptionSaas": "Use any WireGuard client to establish a tunnel. Manual NAT setup required.",
"siteLocalDescription": "仅限本地资源。不需要隧道。", "siteLocalDescription": "仅限本地资源。不需要隧道。",
"siteLocalDescriptionSaas": "仅本地资源。无需隧道。仅适用于自托管节点。", "siteLocalDescriptionSaas": "Local resources only. No tunneling.",
"siteSeeAll": "查看所有站点", "siteSeeAll": "查看所有站点",
"siteTunnelDescription": "确定如何连接到您的网站", "siteTunnelDescription": "确定如何连接到您的网站",
"siteNewtCredentials": "Newt 凭据", "siteNewtCredentials": "Newt 凭据",
@@ -159,7 +159,7 @@
"resourceHTTP": "HTTPS 资源", "resourceHTTP": "HTTPS 资源",
"resourceHTTPDescription": "使用子域或根域名通过 HTTPS 向您的应用程序提出代理请求。", "resourceHTTPDescription": "使用子域或根域名通过 HTTPS 向您的应用程序提出代理请求。",
"resourceRaw": "TCP/UDP 资源", "resourceRaw": "TCP/UDP 资源",
"resourceRawDescription": "使用 TCP/UDP 使用端口号向您的应用提出代理请求。", "resourceRawDescription": "Proxy requests to your app over TCP/UDP using a port number. This only works when sites are connected to nodes.",
"resourceCreate": "创建资源", "resourceCreate": "创建资源",
"resourceCreateDescription": "按照下面的步骤创建新资源", "resourceCreateDescription": "按照下面的步骤创建新资源",
"resourceSeeAll": "查看所有资源", "resourceSeeAll": "查看所有资源",
@@ -168,9 +168,9 @@
"siteSelect": "选择站点", "siteSelect": "选择站点",
"siteSearch": "搜索站点", "siteSearch": "搜索站点",
"siteNotFound": "未找到站点。", "siteNotFound": "未找到站点。",
"selectCountry": "选择国家", "selectCountry": "Select country",
"searchCountries": "搜索国家...", "searchCountries": "Search countries...",
"noCountryFound": "找不到国家。", "noCountryFound": "No country found.",
"siteSelectionDescription": "此站点将为目标提供连接。", "siteSelectionDescription": "此站点将为目标提供连接。",
"resourceType": "资源类型", "resourceType": "资源类型",
"resourceTypeDescription": "确定如何访问您的资源", "resourceTypeDescription": "确定如何访问您的资源",
@@ -598,7 +598,7 @@
"newtErrorFetchReleases": "无法获取版本信息: {err}", "newtErrorFetchReleases": "无法获取版本信息: {err}",
"newtErrorFetchLatest": "无法获取最新版信息: {err}", "newtErrorFetchLatest": "无法获取最新版信息: {err}",
"newtEndpoint": "Newt 端点", "newtEndpoint": "Newt 端点",
"newtId": "Newt ID", "newtId": "Newt ID",
"newtSecretKey": "Newt 私钥", "newtSecretKey": "Newt 私钥",
"architecture": "架构", "architecture": "架构",
"sites": "站点", "sites": "站点",
@@ -1156,7 +1156,7 @@
"containerLabels": "标签", "containerLabels": "标签",
"containerLabelsCount": "{count, plural, other {# 标签}}", "containerLabelsCount": "{count, plural, other {# 标签}}",
"containerLabelsTitle": "容器标签", "containerLabelsTitle": "容器标签",
"containerLabelEmpty": "<为空>", "containerLabelEmpty": "<empty>",
"containerPorts": "端口", "containerPorts": "端口",
"containerPortsMore": "+{count} 更多", "containerPortsMore": "+{count} 更多",
"containerActions": "行动", "containerActions": "行动",
@@ -1258,48 +1258,48 @@
"domainPickerSubdomain": "子域:{subdomain}", "domainPickerSubdomain": "子域:{subdomain}",
"domainPickerNamespace": "命名空间:{namespace}", "domainPickerNamespace": "命名空间:{namespace}",
"domainPickerShowMore": "显示更多", "domainPickerShowMore": "显示更多",
"regionSelectorTitle": "选择区域", "regionSelectorTitle": "Select Region",
"regionSelectorInfo": "选择区域以帮助提升您所在地的性能。您不必与服务器在相同的区域。", "regionSelectorInfo": "Selecting a region helps us provide better performance for your location. You do not have to be in the same region as your server.",
"regionSelectorPlaceholder": "选择一个区域", "regionSelectorPlaceholder": "Choose a region",
"regionSelectorComingSoon": "即将推出", "regionSelectorComingSoon": "Coming Soon",
"billingLoadingSubscription": "正在加载订阅...", "billingLoadingSubscription": "Loading subscription...",
"billingFreeTier": "免费层", "billingFreeTier": "Free Tier",
"billingWarningOverLimit": "警告:您已超出一个或多个使用限制。在您修改订阅或调整使用情况之前,您的站点将无法连接。", "billingWarningOverLimit": "Warning: You have exceeded one or more usage limits. Your sites will not connect until you modify your subscription or adjust your usage.",
"billingUsageLimitsOverview": "使用限制概览", "billingUsageLimitsOverview": "Usage Limits Overview",
"billingMonitorUsage": "监控您的使用情况以对比已配置的限制。如需提高限制请联系我们 support@fossorial.io", "billingMonitorUsage": "Monitor your usage against configured limits. If you need limits increased please contact us support@fossorial.io.",
"billingDataUsage": "数据使用情况", "billingDataUsage": "Data Usage",
"billingOnlineTime": "站点在线时间", "billingOnlineTime": "Site Online Time",
"billingUsers": "活跃用户", "billingUsers": "Active Users",
"billingDomains": "活跃域", "billingDomains": "Active Domains",
"billingRemoteExitNodes": "活跃自托管节点", "billingRemoteExitNodes": "Active Self-hosted Nodes",
"billingNoLimitConfigured": "未配置限制", "billingNoLimitConfigured": "No limit configured",
"billingEstimatedPeriod": "估计结算周期", "billingEstimatedPeriod": "Estimated Billing Period",
"billingIncludedUsage": "包含的使用量", "billingIncludedUsage": "Included Usage",
"billingIncludedUsageDescription": "您当前订阅计划中包含的使用量", "billingIncludedUsageDescription": "Usage included with your current subscription plan",
"billingFreeTierIncludedUsage": "免费层使用额度", "billingFreeTierIncludedUsage": "Free tier usage allowances",
"billingIncluded": "包含", "billingIncluded": "included",
"billingEstimatedTotal": "预计总额:", "billingEstimatedTotal": "Estimated Total:",
"billingNotes": "备注", "billingNotes": "Notes",
"billingEstimateNote": "这是根据您当前使用情况的估算。", "billingEstimateNote": "This is an estimate based on your current usage.",
"billingActualChargesMayVary": "实际费用可能会有变化。", "billingActualChargesMayVary": "Actual charges may vary.",
"billingBilledAtEnd": "您将在结算周期结束时被计费。", "billingBilledAtEnd": "You will be billed at the end of the billing period.",
"billingModifySubscription": "修改订阅", "billingModifySubscription": "Modify Subscription",
"billingStartSubscription": "开始订阅", "billingStartSubscription": "Start Subscription",
"billingRecurringCharge": "周期性收费", "billingRecurringCharge": "Recurring Charge",
"billingManageSubscriptionSettings": "管理您的订阅设置和偏好", "billingManageSubscriptionSettings": "Manage your subscription settings and preferences",
"billingNoActiveSubscription": "您没有活跃的订阅。开始订阅以增加使用限制。", "billingNoActiveSubscription": "You don't have an active subscription. Start your subscription to increase usage limits.",
"billingFailedToLoadSubscription": "无法加载订阅", "billingFailedToLoadSubscription": "Failed to load subscription",
"billingFailedToLoadUsage": "无法加载使用情况", "billingFailedToLoadUsage": "Failed to load usage",
"billingFailedToGetCheckoutUrl": "无法获取结账网址", "billingFailedToGetCheckoutUrl": "Failed to get checkout URL",
"billingPleaseTryAgainLater": "请稍后再试。", "billingPleaseTryAgainLater": "Please try again later.",
"billingCheckoutError": "结账错误", "billingCheckoutError": "Checkout Error",
"billingFailedToGetPortalUrl": "无法获取门户网址", "billingFailedToGetPortalUrl": "Failed to get portal URL",
"billingPortalError": "门户错误", "billingPortalError": "Portal Error",
"billingDataUsageInfo": "当连接到云端时,您将为通过安全隧道传输的所有数据收取费用。 这包括您所有站点的进出流量。 当您达到上限时,您的站点将断开连接,直到您升级计划或减少使用。使用节点时不收取数据。", "billingDataUsageInfo": "You're charged for all data transferred through your secure tunnels when connected to the cloud. This includes both incoming and outgoing traffic across all your sites. When you reach your limit, your sites will disconnect until you upgrade your plan or reduce usage. Data is not charged when using nodes.",
"billingOnlineTimeInfo": "您要根据您的网站连接到云端的时间长短收取费用。 例如44,640分钟等于一个24/7全月运行的网站。 当您达到上限时,您的站点将断开连接,直到您升级计划或减少使用。使用节点时不收取费用。", "billingOnlineTimeInfo": "You're charged based on how long your sites stay connected to the cloud. For example, 44,640 minutes equals one site running 24/7 for a full month. When you reach your limit, your sites will disconnect until you upgrade your plan or reduce usage. Time is not charged when using nodes.",
"billingUsersInfo": "根据您组织中的活跃用户数量收费。按日计算账单。", "billingUsersInfo": "You're charged for each user in your organization. Billing is calculated daily based on the number of active user accounts in your org.",
"billingDomainInfo": "根据组织中活跃域的数量收费。按日计算账单。", "billingDomainInfo": "You're charged for each domain in your organization. Billing is calculated daily based on the number of active domain accounts in your org.",
"billingRemoteExitNodesInfo": "根据您组织中已管理节点的数量收费。按日计算账单。", "billingRemoteExitNodesInfo": "You're charged for each managed Node in your organization. Billing is calculated daily based on the number of active managed Nodes in your org.",
"domainNotFound": "域未找到", "domainNotFound": "域未找到",
"domainNotFoundDescription": "此资源已禁用,因为该域不再在我们的系统中存在。请为此资源设置一个新域。", "domainNotFoundDescription": "此资源已禁用,因为该域不再在我们的系统中存在。请为此资源设置一个新域。",
"failed": "失败", "failed": "失败",
@@ -1363,7 +1363,7 @@
"createDomainDnsPropagationDescription": "DNS 更改可能需要一些时间才能在互联网上传播。这可能需要从几分钟到 48 小时,具体取决于您的 DNS 提供商和 TTL 设置。", "createDomainDnsPropagationDescription": "DNS 更改可能需要一些时间才能在互联网上传播。这可能需要从几分钟到 48 小时,具体取决于您的 DNS 提供商和 TTL 设置。",
"resourcePortRequired": "非 HTTP 资源必须输入端口号", "resourcePortRequired": "非 HTTP 资源必须输入端口号",
"resourcePortNotAllowed": "HTTP 资源不应设置端口号", "resourcePortNotAllowed": "HTTP 资源不应设置端口号",
"billingPricingCalculatorLink": "价格计算器", "billingPricingCalculatorLink": "Pricing Calculator",
"signUpTerms": { "signUpTerms": {
"IAgreeToThe": "我同意", "IAgreeToThe": "我同意",
"termsOfService": "服务条款", "termsOfService": "服务条款",
@@ -1390,7 +1390,7 @@
"clientOlmCredentials": "Olm 凭据", "clientOlmCredentials": "Olm 凭据",
"clientOlmCredentialsDescription": "这是 Olm 服务器的身份验证方式", "clientOlmCredentialsDescription": "这是 Olm 服务器的身份验证方式",
"olmEndpoint": "Olm 端点", "olmEndpoint": "Olm 端点",
"olmId": "Olm ID", "olmId": "Olm ID",
"olmSecretKey": "Olm 私钥", "olmSecretKey": "Olm 私钥",
"clientCredentialsSave": "保存您的凭据", "clientCredentialsSave": "保存您的凭据",
"clientCredentialsSaveDescription": "该信息仅会显示一次,请确保将其复制到安全位置。", "clientCredentialsSaveDescription": "该信息仅会显示一次,请确保将其复制到安全位置。",
@@ -1412,41 +1412,41 @@
"addNewTarget": "添加新目标", "addNewTarget": "添加新目标",
"targetsList": "目标列表", "targetsList": "目标列表",
"targetErrorDuplicateTargetFound": "找到重复的目标", "targetErrorDuplicateTargetFound": "找到重复的目标",
"healthCheckHealthy": "正常", "healthCheckHealthy": "Healthy",
"healthCheckUnhealthy": "不正常", "healthCheckUnhealthy": "Unhealthy",
"healthCheckUnknown": "未知", "healthCheckUnknown": "Unknown",
"healthCheck": "健康检查", "healthCheck": "Health Check",
"configureHealthCheck": "配置健康检查", "configureHealthCheck": "Configure Health Check",
"configureHealthCheckDescription": " {target} 设置健康监控", "configureHealthCheckDescription": "Set up health monitoring for {target}",
"enableHealthChecks": "启用健康检查", "enableHealthChecks": "Enable Health Checks",
"enableHealthChecksDescription": "监视此目标的健康状况。如果需要,您可以监视一个不同的终点。", "enableHealthChecksDescription": "Monitor the health of this target. You can monitor a different endpoint than the target if required.",
"healthScheme": "方法", "healthScheme": "Method",
"healthSelectScheme": "选择方法", "healthSelectScheme": "Select Method",
"healthCheckPath": "路径", "healthCheckPath": "Path",
"healthHostname": "IP / 主机", "healthHostname": "IP / Host",
"healthPort": "端口", "healthPort": "Port",
"healthCheckPathDescription": "用于检查健康状态的路径。", "healthCheckPathDescription": "The path to check for health status.",
"healthyIntervalSeconds": "正常间隔", "healthyIntervalSeconds": "Healthy Interval",
"unhealthyIntervalSeconds": "不正常间隔", "unhealthyIntervalSeconds": "Unhealthy Interval",
"IntervalSeconds": "正常间隔", "IntervalSeconds": "Healthy Interval",
"timeoutSeconds": "超时", "timeoutSeconds": "Timeout",
"timeIsInSeconds": "时间以秒为单位", "timeIsInSeconds": "Time is in seconds",
"retryAttempts": "重试次数", "retryAttempts": "Retry Attempts",
"expectedResponseCodes": "期望响应代码", "expectedResponseCodes": "Expected Response Codes",
"expectedResponseCodesDescription": "HTTP 状态码表示健康状态。如留空200-300 被视为健康。", "expectedResponseCodesDescription": "HTTP status code that indicates healthy status. If left blank, 200-300 is considered healthy.",
"customHeaders": "自定义标题", "customHeaders": "自定义标题",
"customHeadersDescription": "头部新行分隔:头部名称:值", "customHeadersDescription": "Headers new line separated: Header-Name: value",
"headersValidationError": "头部必须是格式:头部名称:值。", "headersValidationError": "Headers must be in the format: Header-Name: value",
"saveHealthCheck": "保存健康检查", "saveHealthCheck": "Save Health Check",
"healthCheckSaved": "健康检查已保存", "healthCheckSaved": "Health Check Saved",
"healthCheckSavedDescription": "健康检查配置已成功保存。", "healthCheckSavedDescription": "Health check configuration has been saved successfully",
"healthCheckError": "健康检查错误", "healthCheckError": "Health Check Error",
"healthCheckErrorDescription": "保存健康检查配置时出错", "healthCheckErrorDescription": "An error occurred while saving the health check configuration",
"healthCheckPathRequired": "健康检查路径为必填项", "healthCheckPathRequired": "Health check path is required",
"healthCheckMethodRequired": "HTTP 方法为必填项", "healthCheckMethodRequired": "HTTP method is required",
"healthCheckIntervalMin": "检查间隔必须至少为 5 秒", "healthCheckIntervalMin": "Check interval must be at least 5 seconds",
"healthCheckTimeoutMin": "超时必须至少为 1 秒", "healthCheckTimeoutMin": "Timeout must be at least 1 second",
"healthCheckRetryMin": "重试次数必须至少为 1 次", "healthCheckRetryMin": "Retry attempts must be at least 1",
"httpMethod": "HTTP 方法", "httpMethod": "HTTP 方法",
"selectHttpMethod": "选择 HTTP 方法", "selectHttpMethod": "选择 HTTP 方法",
"domainPickerSubdomainLabel": "子域名", "domainPickerSubdomainLabel": "子域名",
@@ -1460,7 +1460,7 @@
"domainPickerEnterSubdomainToSearch": "输入一个子域名以搜索并从可用免费域名中选择。", "domainPickerEnterSubdomainToSearch": "输入一个子域名以搜索并从可用免费域名中选择。",
"domainPickerFreeDomains": "免费域名", "domainPickerFreeDomains": "免费域名",
"domainPickerSearchForAvailableDomains": "搜索可用域名", "domainPickerSearchForAvailableDomains": "搜索可用域名",
"domainPickerNotWorkSelfHosted": "注意:自托管实例当前不提供免费的域名。", "domainPickerNotWorkSelfHosted": "Note: Free provided domains are not available for self-hosted instances right now.",
"resourceDomain": "域名", "resourceDomain": "域名",
"resourceEditDomain": "编辑域名", "resourceEditDomain": "编辑域名",
"siteName": "站点名称", "siteName": "站点名称",
@@ -1543,72 +1543,72 @@
"autoLoginError": "自动登录错误", "autoLoginError": "自动登录错误",
"autoLoginErrorNoRedirectUrl": "未从身份提供商收到重定向URL。", "autoLoginErrorNoRedirectUrl": "未从身份提供商收到重定向URL。",
"autoLoginErrorGeneratingUrl": "生成身份验证URL失败。", "autoLoginErrorGeneratingUrl": "生成身份验证URL失败。",
"remoteExitNodeManageRemoteExitNodes": "管理自托管", "remoteExitNodeManageRemoteExitNodes": "Manage Self-Hosted",
"remoteExitNodeDescription": "管理节点以扩展您的网络连接", "remoteExitNodeDescription": "Manage nodes to extend your network connectivity",
"remoteExitNodes": "Nodes", "remoteExitNodes": "Nodes",
"searchRemoteExitNodes": "搜索节点...", "searchRemoteExitNodes": "Search nodes...",
"remoteExitNodeAdd": "添加节点", "remoteExitNodeAdd": "Add Node",
"remoteExitNodeErrorDelete": "删除节点时出错", "remoteExitNodeErrorDelete": "Error deleting node",
"remoteExitNodeQuestionRemove": "您确定要从组织中删除 {selectedNode} 节点吗?", "remoteExitNodeQuestionRemove": "Are you sure you want to remove the node {selectedNode} from the organization?",
"remoteExitNodeMessageRemove": "一旦删除,该节点将不再能够访问。", "remoteExitNodeMessageRemove": "Once removed, the node will no longer be accessible.",
"remoteExitNodeMessageConfirm": "要确认,请输入以下节点的名称。", "remoteExitNodeMessageConfirm": "To confirm, please type the name of the node below.",
"remoteExitNodeConfirmDelete": "确认删除节点", "remoteExitNodeConfirmDelete": "Confirm Delete Node",
"remoteExitNodeDelete": "删除节点", "remoteExitNodeDelete": "Delete Node",
"sidebarRemoteExitNodes": "Nodes", "sidebarRemoteExitNodes": "Nodes",
"remoteExitNodeCreate": { "remoteExitNodeCreate": {
"title": "创建节点", "title": "Create Node",
"description": "创建一个新节点来扩展您的网络连接", "description": "Create a new node to extend your network connectivity",
"viewAllButton": "查看所有节点", "viewAllButton": "View All Nodes",
"strategy": { "strategy": {
"title": "创建策略", "title": "Creation Strategy",
"description": "选择此选项以手动配置您的节点或生成新凭据。", "description": "Choose this to manually configure your node or generate new credentials.",
"adopt": { "adopt": {
"title": "采纳节点", "title": "Adopt Node",
"description": "如果您已经拥有该节点的凭据,请选择此项。" "description": "Choose this if you already have the credentials for the node."
}, },
"generate": { "generate": {
"title": "生成密钥", "title": "Generate Keys",
"description": "如果您想为节点生成新密钥,请选择此选项" "description": "Choose this if you want to generate new keys for the node"
} }
}, },
"adopt": { "adopt": {
"title": "采纳现有节点", "title": "Adopt Existing Node",
"description": "输入您想要采用的现有节点的凭据", "description": "Enter the credentials of the existing node you want to adopt",
"nodeIdLabel": "节点 ID", "nodeIdLabel": "Node ID",
"nodeIdDescription": "您想要采用的现有节点的 ID", "nodeIdDescription": "The ID of the existing node you want to adopt",
"secretLabel": "密钥", "secretLabel": "Secret",
"secretDescription": "现有节点的秘密密钥", "secretDescription": "The secret key of the existing node",
"submitButton": "采用节点" "submitButton": "Adopt Node"
}, },
"generate": { "generate": {
"title": "生成的凭据", "title": "Generated Credentials",
"description": "使用这些生成的凭据来配置您的节点", "description": "Use these generated credentials to configure your node",
"nodeIdTitle": "节点 ID", "nodeIdTitle": "Node ID",
"secretTitle": "密钥", "secretTitle": "Secret",
"saveCredentialsTitle": "将凭据添加到配置中", "saveCredentialsTitle": "Add Credentials to Config",
"saveCredentialsDescription": "将这些凭据添加到您的自托管 Pangolin 节点配置文件中以完成连接。", "saveCredentialsDescription": "Add these credentials to your self-hosted Pangolin node configuration file to complete the connection.",
"submitButton": "创建节点" "submitButton": "Create Node"
}, },
"validation": { "validation": {
"adoptRequired": "在通过现有节点时需要节点ID和密钥" "adoptRequired": "Node ID and Secret are required when adopting an existing node"
}, },
"errors": { "errors": {
"loadDefaultsFailed": "无法加载默认值", "loadDefaultsFailed": "Failed to load defaults",
"defaultsNotLoaded": "默认值未加载", "defaultsNotLoaded": "Defaults not loaded",
"createFailed": "创建节点失败" "createFailed": "Failed to create node"
}, },
"success": { "success": {
"created": "节点创建成功" "created": "Node created successfully"
} }
}, },
"remoteExitNodeSelection": "节点选择", "remoteExitNodeSelection": "Node Selection",
"remoteExitNodeSelectionDescription": "为此本地站点选择要路由流量的节点", "remoteExitNodeSelectionDescription": "Select a node to route traffic through for this local site",
"remoteExitNodeRequired": "必须为本地站点选择节点", "remoteExitNodeRequired": "A node must be selected for local sites",
"noRemoteExitNodesAvailable": "无可用节点", "noRemoteExitNodesAvailable": "No Nodes Available",
"noRemoteExitNodesAvailableDescription": "此组织没有可用的节点。首先创建一个节点来使用本地站点。", "noRemoteExitNodesAvailableDescription": "No nodes are available for this organization. Create a node first to use local sites.",
"exitNode": "出口节点", "exitNode": "Exit Node",
"country": "国家", "country": "Country",
"rulesMatchCountry": "当前基于源 IP", "rulesMatchCountry": "Currently based on source IP",
"managedSelfHosted": { "managedSelfHosted": {
"title": "托管自托管", "title": "托管自托管",
"description": "更可靠和低维护自我托管的 Pangolin 服务器,带有额外的铃声和告密器", "description": "更可靠和低维护自我托管的 Pangolin 服务器,带有额外的铃声和告密器",
@@ -1647,53 +1647,53 @@
}, },
"internationaldomaindetected": "检测到国际域", "internationaldomaindetected": "检测到国际域",
"willbestoredas": "储存为:", "willbestoredas": "储存为:",
"roleMappingDescription": "确定当用户启用自动配送时如何分配他们的角色。", "roleMappingDescription": "Determine how roles are assigned to users when they sign in when Auto Provision is enabled.",
"selectRole": "选择角色", "selectRole": "Select a Role",
"roleMappingExpression": "表达式", "roleMappingExpression": "Expression",
"selectRolePlaceholder": "选择角色", "selectRolePlaceholder": "Choose a role",
"selectRoleDescription": "选择一个角色,从此身份提供商分配给所有用户", "selectRoleDescription": "Select a role to assign to all users from this identity provider",
"roleMappingExpressionDescription": "输入一个 JMESPath 表达式来从 ID 令牌提取角色信息", "roleMappingExpressionDescription": "Enter a JMESPath expression to extract role information from the ID token",
"idpTenantIdRequired": "租户ID是必需的", "idpTenantIdRequired": "Tenant ID is required",
"invalidValue": "无效的值", "invalidValue": "Invalid value",
"idpTypeLabel": "身份提供者类型", "idpTypeLabel": "Identity Provider Type",
"roleMappingExpressionPlaceholder": "例如: contains(group, 'admin' &'Admin' || 'Member'", "roleMappingExpressionPlaceholder": "e.g., contains(groups, 'admin') && 'Admin' || 'Member'",
"idpGoogleConfiguration": "Google 配置", "idpGoogleConfiguration": "Google Configuration",
"idpGoogleConfigurationDescription": "配置您的 Google OAuth2 凭据", "idpGoogleConfigurationDescription": "Configure your Google OAuth2 credentials",
"idpGoogleClientIdDescription": "您的 Google OAuth2 客户端 ID", "idpGoogleClientIdDescription": "Your Google OAuth2 Client ID",
"idpGoogleClientSecretDescription": "您的 Google OAuth2 客户端密钥", "idpGoogleClientSecretDescription": "Your Google OAuth2 Client Secret",
"idpAzureConfiguration": "Azure Entra ID 配置", "idpAzureConfiguration": "Azure Entra ID Configuration",
"idpAzureConfigurationDescription": "配置您的 Azure Entra ID OAuth2 凭据", "idpAzureConfigurationDescription": "Configure your Azure Entra ID OAuth2 credentials",
"idpTenantId": "Tenant ID", "idpTenantId": "Tenant ID",
"idpTenantIdPlaceholder": "您的租户ID", "idpTenantIdPlaceholder": "your-tenant-id",
"idpAzureTenantIdDescription": "您的 Azure 租户ID (在 Azure Active Directory 概览中发现)", "idpAzureTenantIdDescription": "Your Azure tenant ID (found in Azure Active Directory overview)",
"idpAzureClientIdDescription": "您的 Azure 应用程序注册客户端 ID", "idpAzureClientIdDescription": "Your Azure App Registration Client ID",
"idpAzureClientSecretDescription": "您的 Azure 应用程序注册客户端密钥", "idpAzureClientSecretDescription": "Your Azure App Registration Client Secret",
"idpGoogleTitle": "Google", "idpGoogleTitle": "Google",
"idpGoogleAlt": "Google", "idpGoogleAlt": "Google",
"idpAzureTitle": "Azure Entra ID", "idpAzureTitle": "Azure Entra ID",
"idpAzureAlt": "Azure", "idpAzureAlt": "Azure",
"idpGoogleConfigurationTitle": "Google 配置", "idpGoogleConfigurationTitle": "Google Configuration",
"idpAzureConfigurationTitle": "Azure Entra ID 配置", "idpAzureConfigurationTitle": "Azure Entra ID Configuration",
"idpTenantIdLabel": "Tenant ID", "idpTenantIdLabel": "Tenant ID",
"idpAzureClientIdDescription2": "您的 Azure 应用程序注册客户端 ID", "idpAzureClientIdDescription2": "Your Azure App Registration Client ID",
"idpAzureClientSecretDescription2": "您的 Azure 应用程序注册客户端密钥", "idpAzureClientSecretDescription2": "Your Azure App Registration Client Secret",
"idpGoogleDescription": "Google OAuth2/OIDC 提供商", "idpGoogleDescription": "Google OAuth2/OIDC 提供商",
"idpAzureDescription": "Microsoft Azure OAuth2/OIDC provider", "idpAzureDescription": "Microsoft Azure OAuth2/OIDC provider",
"subnet": "子网", "subnet": "Subnet",
"subnetDescription": "此组织网络配置的子网。", "subnetDescription": "The subnet for this organization's network configuration.",
"authPage": "认证页面", "authPage": "Auth Page",
"authPageDescription": "配置您的组织认证页面", "authPageDescription": "Configure the auth page for your organization",
"authPageDomain": "认证页面域", "authPageDomain": "Auth Page Domain",
"noDomainSet": "没有域设置", "noDomainSet": "No domain set",
"changeDomain": "更改域", "changeDomain": "Change Domain",
"selectDomain": "选择域", "selectDomain": "Select Domain",
"restartCertificate": "重新启动证书", "restartCertificate": "Restart Certificate",
"editAuthPageDomain": "编辑认证页面域", "editAuthPageDomain": "Edit Auth Page Domain",
"setAuthPageDomain": "设置认证页面域", "setAuthPageDomain": "Set Auth Page Domain",
"failedToFetchCertificate": "获取证书失败", "failedToFetchCertificate": "Failed to fetch certificate",
"failedToRestartCertificate": "重新启动证书失败", "failedToRestartCertificate": "Failed to restart certificate",
"addDomainToEnableCustomAuthPages": "为您的组织添加域名以启用自定义认证页面", "addDomainToEnableCustomAuthPages": "Add a domain to enable custom authentication pages for your organization",
"selectDomainForOrgAuthPage": "选择组织认证页面的域", "selectDomainForOrgAuthPage": "Select a domain for the organization's authentication page",
"domainPickerProvidedDomain": "提供的域", "domainPickerProvidedDomain": "提供的域",
"domainPickerFreeProvidedDomain": "免费提供的域", "domainPickerFreeProvidedDomain": "免费提供的域",
"domainPickerVerified": "已验证", "domainPickerVerified": "已验证",
@@ -1707,16 +1707,21 @@
"domainPickerInvalidSubdomainCannotMakeValid": "\"{sub}\" 无法为 {domain} 变为有效。", "domainPickerInvalidSubdomainCannotMakeValid": "\"{sub}\" 无法为 {domain} 变为有效。",
"domainPickerSubdomainSanitized": "子域已净化", "domainPickerSubdomainSanitized": "子域已净化",
"domainPickerSubdomainCorrected": "\"{sub}\" 已被更正为 \"{sanitized}\"", "domainPickerSubdomainCorrected": "\"{sub}\" 已被更正为 \"{sanitized}\"",
"orgAuthSignInTitle": "登录到您的组织", "orgAuthSignInTitle": "Sign in to your organization",
"orgAuthChooseIdpDescription": "选择您的身份提供商以继续", "orgAuthChooseIdpDescription": "Choose your identity provider to continue",
"orgAuthNoIdpConfigured": "此机构没有配置任何身份提供者。您可以使用您的 Pangolin 身份登录。", "orgAuthNoIdpConfigured": "This organization doesn't have any identity providers configured. You can log in with your Pangolin identity instead.",
"orgAuthSignInWithPangolin": "使用 Pangolin 登录", "orgAuthSignInWithPangolin": "Sign in with Pangolin",
"subscriptionRequiredToUse": "需要订阅才能使用此功能。", "subscriptionRequiredToUse": "A subscription is required to use this feature.",
"idpDisabled": "身份提供者已禁用。", "idpDisabled": "Identity providers are disabled.",
"orgAuthPageDisabled": "组织认证页面已禁用。", "orgAuthPageDisabled": "Organization auth page is disabled.",
"domainRestartedDescription": "域验证重新启动成功", "domainRestartedDescription": "Domain verification restarted successfully",
"resourceAddEntrypointsEditFile": "编辑文件config/traefik/traefik_config.yml", "resourceAddEntrypointsEditFile": "编辑文件config/traefik/traefik_config.yml",
"resourceExposePortsEditFile": "编辑文件docker-compose.yml", "resourceExposePortsEditFile": "编辑文件docker-compose.yml",
"emailVerificationRequired": "需要电子邮件验证。 请通过 {dashboardUrl}/auth/login 再次登录以完成此步骤。 然后,回到这里。", "emailVerificationRequired": "需要电子邮件验证。 请通过 {dashboardUrl}/auth/login 再次登录以完成此步骤。 然后,回到这里。",
"twoFactorSetupRequired": "需要设置双因素身份验证。 请通过 {dashboardUrl}/auth/login 再次登录以完成此步骤。 然后,回到这里。" "twoFactorSetupRequired": "需要设置双因素身份验证。 请通过 {dashboardUrl}/auth/login 再次登录以完成此步骤。 然后,回到这里。",
"authPageErrorUpdateMessage": "An error occurred while updating the auth page settings",
"authPageUpdated": "Auth page updated successfully",
"healthCheckNotAvailable": "Local",
"rewritePath": "Rewrite Path",
"rewritePathDescription": "Optionally rewrite the path before forwarding to the target."
} }