diff --git a/messages/zh-CN.json b/messages/zh-CN.json index 31fdecde..d6df6e5a 100644 --- a/messages/zh-CN.json +++ b/messages/zh-CN.json @@ -47,9 +47,8 @@ "edit": "编辑", "siteConfirmDelete": "确认删除站点", "siteDelete": "删除站点", - "siteMessageRemove": "一旦删除,该站点将无法访问。与该站点相关的所有资源和目标也将被删除。", - "siteMessageConfirm": "请在下面输入站点名称以确认。", - "siteQuestionRemove": "您确定要从组织中删除 {selectedSite} 站点吗?", + "siteMessageRemove": "一旦移除,站点将无法访问。与站点相关的所有目标也将被移除。", + "siteQuestionRemove": "您确定要从组织中删除该站点吗?", "siteManageSites": "管理站点", "siteDescription": "允许通过安全隧道连接到您的网络", "siteCreate": "创建站点", @@ -96,7 +95,7 @@ "siteWgDescription": "使用任何 WireGuard 客户端来建立隧道。需要手动配置 NAT。", "siteWgDescriptionSaas": "使用任何WireGuard客户端建立隧道。需要手动配置NAT。仅适用于自托管节点。", "siteLocalDescription": "仅限本地资源。不需要隧道。", - "siteLocalDescriptionSaas": "Local resources only. No tunneling. Only available on remote nodes.", + "siteLocalDescriptionSaas": "仅本地资源。没有隧道。仅在远程节点上可用。", "siteSeeAll": "查看所有站点", "siteTunnelDescription": "确定如何连接到您的网站", "siteNewtCredentials": "Newt 凭据", @@ -154,8 +153,7 @@ "protected": "受到保护", "notProtected": "未受到保护", "resourceMessageRemove": "一旦删除,资源将不再可访问。与该资源相关的所有目标也将被删除。", - "resourceMessageConfirm": "请在下面输入资源名称以确认。", - "resourceQuestionRemove": "您确定要从组织中删除 {selectedResource} 吗?", + "resourceQuestionRemove": "您确定要从组织中删除资源吗?", "resourceHTTP": "HTTPS 资源", "resourceHTTPDescription": "使用子域或根域名通过 HTTPS 向您的应用程序提出代理请求。", "resourceRaw": "TCP/UDP 资源", @@ -220,7 +218,7 @@ "orgDeleteConfirm": "确认删除组织", "orgMessageRemove": "此操作不可逆,这将删除所有相关数据。", "orgMessageConfirm": "要确认,请在下面输入组织名称。", - "orgQuestionRemove": "你确定要删除 \"{selectedOrg}\" 组织吗?", + "orgQuestionRemove": "您确定要删除组织吗?", "orgUpdated": "组织已更新", "orgUpdatedDescription": "组织已更新。", "orgErrorUpdate": "更新组织失败", @@ -287,9 +285,8 @@ "apiKeysAdd": "生成 API 密钥", "apiKeysErrorDelete": "删除 API 密钥出错", "apiKeysErrorDeleteMessage": "删除 API 密钥出错", - "apiKeysQuestionRemove": "您确定要从组织中删除 \"{selectedApiKey}\" API密钥吗?", + "apiKeysQuestionRemove": "您确定要从组织中删除 API 密钥吗?", "apiKeysMessageRemove": "一旦删除,此API密钥将无法被使用。", - "apiKeysMessageConfirm": "要确认,请在下方输入API密钥名称。", "apiKeysDeleteConfirm": "确认删除 API 密钥", "apiKeysDelete": "删除 API 密钥", "apiKeysManage": "管理 API 密钥", @@ -305,8 +302,7 @@ "userDeleteConfirm": "确认删除用户", "userDeleteServer": "从服务器删除用户", "userMessageRemove": "该用户将被从所有组织中删除并完全从服务器中删除。", - "userMessageConfirm": "请在下面输入用户名称以确认。", - "userQuestionRemove": "您确定要从服务器中永久删除 {selectedUser} 吗?", + "userQuestionRemove": "您确定要从服务器永久删除用户吗?", "licenseKey": "许可证密钥", "valid": "有效", "numberOfSites": "站点数量", @@ -339,7 +335,7 @@ "fossorialLicense": "查看Fossorial Commercial License和订阅条款", "licenseMessageRemove": "这将删除许可证密钥和它授予的所有相关权限。", "licenseMessageConfirm": "要确认,请在下面输入许可证密钥。", - "licenseQuestionRemove": "您确定要删除 {selectedKey} 的邀请吗?", + "licenseQuestionRemove": "您确定要删除许可证密钥?", "licenseKeyDelete": "删除许可证密钥", "licenseKeyDeleteConfirm": "确认删除许可证密钥", "licenseTitle": "管理许可证状态", @@ -372,7 +368,7 @@ "inviteRemoveErrorDescription": "删除邀请时出错。", "inviteRemoved": "邀请已删除", "inviteRemovedDescription": "为 {email} 创建的邀请已删除", - "inviteQuestionRemove": "您确定要删除 {email} 的邀请吗?", + "inviteQuestionRemove": "您确定要删除邀请吗?", "inviteMessageRemove": "一旦删除,这个邀请将不再有效。", "inviteMessageConfirm": "要确认,请在下面输入邀请的电子邮件地址。", "inviteQuestionRegenerate": "您确定要重新邀请 {email} 吗?这将会撤销掉之前的邀请", @@ -398,9 +394,8 @@ "userErrorOrgRemoveDescription": "删除用户时出错。", "userOrgRemoved": "用户已删除", "userOrgRemovedDescription": "已将 {email} 从组织中移除。", - "userQuestionOrgRemove": "你确定要将 {email} 从组织中移除吗?", + "userQuestionOrgRemove": "您确定要从组织中删除此用户吗?", "userMessageOrgRemove": "一旦删除,这个用户将不再能够访问组织。 你总是可以稍后重新邀请他们,但他们需要再次接受邀请。", - "userMessageOrgConfirm": "请在下面输入用户名称以确认。", "userRemoveOrgConfirm": "确认删除用户", "userRemoveOrg": "从组织中删除用户", "users": "用户", @@ -730,7 +725,7 @@ "pangolinServerAdmin": "服务器管理员 - Pangolin", "licenseTierProfessional": "专业许可证", "licenseTierEnterprise": "企业许可证", - "licenseTierPersonal": "Personal License", + "licenseTierPersonal": "个人许可证", "licensed": "已授权", "yes": "是", "no": "否", @@ -742,7 +737,7 @@ "idpManageDescription": "查看和管理系统中的身份提供商", "idpDeletedDescription": "身份提供商删除成功", "idpOidc": "OAuth2/OIDC", - "idpQuestionRemove": "你确定要永久删除 \"{name}\" 这个身份提供商吗?", + "idpQuestionRemove": "您确定要永久删除身份提供者吗?", "idpMessageRemove": "这将删除身份提供者和所有相关的配置。通过此提供者进行身份验证的用户将无法登录。", "idpMessageConfirm": "要确认,请在下面输入身份提供者的名称。", "idpConfirmDelete": "确认删除身份提供商", @@ -1154,7 +1149,7 @@ "sidebarAllUsers": "所有用户", "sidebarIdentityProviders": "身份提供商", "sidebarLicense": "证书", - "sidebarClients": "Clients", + "sidebarClients": "客户端", "sidebarDomains": "域", "enableDockerSocket": "启用 Docker 蓝图", "enableDockerSocketDescription": "启用 Docker Socket 标签擦除蓝图标签。套接字路径必须提供给新的。", @@ -1211,9 +1206,8 @@ "domainCreate": "创建域", "domainCreatedDescription": "域创建成功", "domainDeletedDescription": "成功删除域", - "domainQuestionRemove": "您确定要从您的账户中移除域{domain}吗?", + "domainQuestionRemove": "您确定要从您的帐户中删除域名吗?", "domainMessageRemove": "移除后,该域将不再与您的账户关联。", - "domainMessageConfirm": "要确认,请在下方输入域名。", "domainConfirmDelete": "确认删除域", "domainDelete": "删除域", "domain": "域", @@ -1558,14 +1552,13 @@ "autoLoginErrorNoRedirectUrl": "未从身份提供商收到重定向URL。", "autoLoginErrorGeneratingUrl": "生成身份验证URL失败。", "remoteExitNodeManageRemoteExitNodes": "远程节点", - "remoteExitNodeDescription": "Self-host one or more remote nodes to extend your network connectivity and reduce reliance on the cloud", + "remoteExitNodeDescription": "自我主机一个或多个远程节点来扩展您的网络连接并减少对云的依赖性", "remoteExitNodes": "节点", "searchRemoteExitNodes": "搜索节点...", "remoteExitNodeAdd": "添加节点", "remoteExitNodeErrorDelete": "删除节点时出错", - "remoteExitNodeQuestionRemove": "您确定要从组织中删除 {selectedNode} 节点吗?", + "remoteExitNodeQuestionRemove": "您确定要从组织中删除该节点吗?", "remoteExitNodeMessageRemove": "一旦删除,该节点将不再能够访问。", - "remoteExitNodeMessageConfirm": "要确认,请输入以下节点的名称。", "remoteExitNodeConfirmDelete": "确认删除节点", "remoteExitNodeDelete": "删除节点", "sidebarRemoteExitNodes": "远程节点", @@ -1745,153 +1738,158 @@ "resourceHeaderAuthRemoveDescription": "已成功删除头部身份验证。", "resourceErrorHeaderAuthRemove": "删除头部身份验证失败", "resourceErrorHeaderAuthRemoveDescription": "无法删除资源的头部身份验证。", - "resourceHeaderAuthProtectionEnabled": "Header Authentication Enabled", - "resourceHeaderAuthProtectionDisabled": "Header Authentication Disabled", - "headerAuthRemove": "Remove Header Auth", - "headerAuthAdd": "Add Header Auth", + "resourceHeaderAuthProtectionEnabled": "头部认证已启用", + "resourceHeaderAuthProtectionDisabled": "头部身份验证已禁用", + "headerAuthRemove": "删除头部认证", + "headerAuthAdd": "添加页眉认证", "resourceErrorHeaderAuthSetup": "设置页眉认证失败", "resourceErrorHeaderAuthSetupDescription": "无法设置资源的头部身份验证。", "resourceHeaderAuthSetup": "头部认证设置成功", "resourceHeaderAuthSetupDescription": "头部认证已成功设置。", "resourceHeaderAuthSetupTitle": "设置头部身份验证", - "resourceHeaderAuthSetupTitleDescription": "Set the basic auth credentials (username and password) to protect this resource with HTTP Header Authentication. Access it using the format https://username:password@resource.example.com", + "resourceHeaderAuthSetupTitleDescription": "使用HTTP 头身份验证来设置基本身份验证信息(用户名和密码)。使用 https://username:password@resource.example.com 访问它", "resourceHeaderAuthSubmit": "设置头部身份验证", "actionSetResourceHeaderAuth": "设置头部身份验证", - "enterpriseEdition": "Enterprise Edition", - "unlicensed": "Unlicensed", - "beta": "Beta", - "manageClients": "Manage Clients", - "manageClientsDescription": "Clients are devices that can connect to your sites", - "licenseTableValidUntil": "Valid Until", - "saasLicenseKeysSettingsTitle": "Enterprise Licenses", - "saasLicenseKeysSettingsDescription": "Generate and manage Enterprise license keys for self-hosted Pangolin instances", - "sidebarEnterpriseLicenses": "Licenses", - "generateLicenseKey": "Generate License Key", + "enterpriseEdition": "企业版", + "unlicensed": "未授权", + "beta": "测试版", + "manageClients": "管理客户端", + "manageClientsDescription": "客户端是可以连接到您的站点的设备", + "licenseTableValidUntil": "有效期至", + "saasLicenseKeysSettingsTitle": "企业许可证", + "saasLicenseKeysSettingsDescription": "为自我托管的 Pangolin 实例生成和管理企业许可证密钥", + "sidebarEnterpriseLicenses": "许可协议", + "generateLicenseKey": "生成许可证密钥", "generateLicenseKeyForm": { "validation": { - "emailRequired": "Please enter a valid email address", - "useCaseTypeRequired": "Please select a use case type", - "firstNameRequired": "First name is required", - "lastNameRequired": "Last name is required", - "primaryUseRequired": "Please describe your primary use", - "jobTitleRequiredBusiness": "Job title is required for business use", - "industryRequiredBusiness": "Industry is required for business use", - "stateProvinceRegionRequired": "State/Province/Region is required", - "postalZipCodeRequired": "Postal/ZIP Code is required", - "companyNameRequiredBusiness": "Company name is required for business use", - "countryOfResidenceRequiredBusiness": "Country of residence is required for business use", - "countryRequiredPersonal": "Country is required for personal use", - "agreeToTermsRequired": "You must agree to the terms", - "complianceConfirmationRequired": "You must confirm compliance with the Fossorial Commercial License" + "emailRequired": "请输入一个有效的电子邮件地址", + "useCaseTypeRequired": "请选择一个使用的案例类型", + "firstNameRequired": "必填名", + "lastNameRequired": "姓氏是必填项", + "primaryUseRequired": "请描述您的主要使用", + "jobTitleRequiredBusiness": "企业使用必须有职位头衔。", + "industryRequiredBusiness": "商业使用需要工业", + "stateProvinceRegionRequired": "州/省/地区是必填项", + "postalZipCodeRequired": "邮政编码是必需的", + "companyNameRequiredBusiness": "企业使用需要公司名称", + "countryOfResidenceRequiredBusiness": "商业使用必须是居住国", + "countryRequiredPersonal": "国家需要个人使用", + "agreeToTermsRequired": "您必须同意条款", + "complianceConfirmationRequired": "您必须确认遵守Fossorial Commercial License" }, "useCaseOptions": { "personal": { - "title": "Personal Use", - "description": "For individual, non-commercial use such as learning, personal projects, or experimentation." + "title": "个人使用", + "description": "个人非商业用途,如学习、个人项目或实验。" }, "business": { - "title": "Business Use", - "description": "For use within organizations, companies, or commercial or revenue-generating activities." + "title": "商业使用", + "description": "供组织、公司或商业或创收活动使用。" } }, "steps": { "emailLicenseType": { - "title": "Email & License Type", - "description": "Enter your email and choose your license type" + "title": "电子邮件和许可证类型", + "description": "输入您的电子邮件并选择您的许可证类型" }, "personalInformation": { - "title": "Personal Information", - "description": "Tell us about yourself" + "title": "个人信息", + "description": "告诉我们自己的信息" }, "contactInformation": { - "title": "Contact Information", - "description": "Your contact details" + "title": "联系信息", + "description": "您的联系信息" }, "termsGenerate": { - "title": "Terms & Generate", - "description": "Review and accept terms to generate your license" + "title": "条款并生成", + "description": "审阅并接受条款生成您的许可证" } }, "alerts": { "commercialUseDisclosure": { - "title": "Usage Disclosure", - "description": "Select the license tier that accurately reflects your intended use. The Personal License permits free use of the Software for individual, non-commercial or small-scale commercial activities with annual gross revenue under $100,000 USD. Any use beyond these limits — including use within a business, organization, or other revenue-generating environment — requires a valid Enterprise License and payment of the applicable licensing fee. All users, whether Personal or Enterprise, must comply with the Fossorial Commercial License Terms." + "title": "使用情况披露", + "description": "选择能准确反映您预定用途的许可等级。 个人许可证允许对个人、非商业性或小型商业活动免费使用软件,年收入毛额不到100 000美元。 超出这些限度的任何用途,包括在企业、组织内的用途。 或其他创收环境——需要有效的企业许可证和支付适用的许可证费用。 所有用户,不论是个人还是企业,都必须遵守寄养商业许可证条款。" }, "trialPeriodInformation": { - "title": "Trial Period Information", - "description": "This License Key enables Enterprise features for a 7-day evaluation period. Continued access to Paid Features beyond the evaluation period requires activation under a valid Personal or Enterprise License. For Enterprise licensing, contact sales@pangolin.net." + "title": "试用期信息", + "description": "此许可证密钥使企业特性能够持续7天的评价。 在评估期过后继续访问付费功能需要在有效的个人或企业许可证下激活。对于企业许可证,请联系Sales@pangolin.net。" } }, "form": { - "useCaseQuestion": "Are you using Pangolin for personal or business use?", - "firstName": "First Name", - "lastName": "Last Name", - "jobTitle": "Job Title", - "primaryUseQuestion": "What do you primarily plan to use Pangolin for?", - "industryQuestion": "What is your industry?", - "prospectiveUsersQuestion": "How many prospective users do you expect to have?", - "prospectiveSitesQuestion": "How many prospective sites (tunnels) do you expect to have?", - "companyName": "Company name", - "countryOfResidence": "Country of residence", - "stateProvinceRegion": "State / Province / Region", - "postalZipCode": "Postal / ZIP Code", - "companyWebsite": "Company website", - "companyPhoneNumber": "Company phone number", - "country": "Country", - "phoneNumberOptional": "Phone number (optional)", - "complianceConfirmation": "I confirm that I am in compliance with the Fossorial Commercial License and that reporting inaccurate information or misidentifying use of the product is a violation of the license." + "useCaseQuestion": "您是否正在使用 Pangolin 进行个人或商业使用?", + "firstName": "名字", + "lastName": "名字", + "jobTitle": "工作头衔:", + "primaryUseQuestion": "您主要计划使用 Pangolin 吗?", + "industryQuestion": "您的行业是什么?", + "prospectiveUsersQuestion": "您期望有多少预期用户?", + "prospectiveSitesQuestion": "您期望有多少站点(隧道)?", + "companyName": "公司名称", + "countryOfResidence": "居住国", + "stateProvinceRegion": "州/省/地区", + "postalZipCode": "邮政编码", + "companyWebsite": "公司网站", + "companyPhoneNumber": "公司电话号码", + "country": "国家", + "phoneNumberOptional": "电话号码 (可选)", + "complianceConfirmation": "我确认我提供的资料是准确的,我遵守了寄养商业许可证。 报告不准确的信息或错误的产品使用是违反许可证的行为,可能导致您的密钥被撤销。" }, "buttons": { - "close": "Close", - "previous": "Previous", - "next": "Next", - "generateLicenseKey": "Generate License Key" + "close": "关闭", + "previous": "上一个", + "next": "下一个", + "generateLicenseKey": "生成许可证密钥" }, "toasts": { "success": { - "title": "License key generated successfully", - "description": "Your license key has been generated and is ready to use." + "title": "许可证密钥生成成功", + "description": "您的许可证密钥已经生成并准备使用。" }, "error": { - "title": "Failed to generate license key", - "description": "An error occurred while generating the license key." + "title": "生成许可证密钥失败", + "description": "生成许可证密钥时出错。" } } }, "priority": "优先权", "priorityDescription": "先评估更高优先级线路。优先级 = 100意味着自动排序(系统决定). 使用另一个数字强制执行手动优先级。", - "instanceName": "Instance Name", - "pathMatchModalTitle": "Configure Path Matching", - "pathMatchModalDescription": "Set up how incoming requests should be matched based on their path.", - "pathMatchType": "Match Type", - "pathMatchPrefix": "Prefix", - "pathMatchExact": "Exact", - "pathMatchRegex": "Regex", - "pathMatchValue": "Path Value", - "clear": "Clear", - "saveChanges": "Save Changes", + "instanceName": "实例名称", + "pathMatchModalTitle": "配置路径匹配", + "pathMatchModalDescription": "根据传入请求的路径设置匹配方式。", + "pathMatchType": "匹配类型", + "pathMatchPrefix": "前缀", + "pathMatchExact": "精准的", + "pathMatchRegex": "正则表达式", + "pathMatchValue": "路径值", + "clear": "清空", + "saveChanges": "保存更改", "pathMatchRegexPlaceholder": "^/api/.*", - "pathMatchDefaultPlaceholder": "/path", - "pathMatchPrefixHelp": "Example: /api matches /api, /api/users, etc.", - "pathMatchExactHelp": "Example: /api matches only /api", - "pathMatchRegexHelp": "Example: ^/api/.* matches /api/anything", - "pathRewriteModalTitle": "Configure Path Rewriting", - "pathRewriteModalDescription": "Transform the matched path before forwarding to the target.", - "pathRewriteType": "Rewrite Type", - "pathRewritePrefixOption": "Prefix - Replace prefix", - "pathRewriteExactOption": "Exact - Replace entire path", - "pathRewriteRegexOption": "Regex - Pattern replacement", - "pathRewriteStripPrefixOption": "Strip Prefix - Remove prefix", - "pathRewriteValue": "Rewrite Value", + "pathMatchDefaultPlaceholder": "/路径", + "pathMatchPrefixHelp": "示例: /api 匹配/api, /api/users 等。", + "pathMatchExactHelp": "示例:/api 匹配仅限/api", + "pathMatchRegexHelp": "例如:^/api/.* 匹配/api/why", + "pathRewriteModalTitle": "配置路径重写", + "pathRewriteModalDescription": "在转发到目标之前变换匹配的路径。", + "pathRewriteType": "重写类型", + "pathRewritePrefixOption": "前缀 - 替换前缀", + "pathRewriteExactOption": "精确-替换整个路径", + "pathRewriteRegexOption": "正则表达式 - 替换模式", + "pathRewriteStripPrefixOption": "删除前缀 - 删除前缀", + "pathRewriteValue": "重写值", "pathRewriteRegexPlaceholder": "/new/$1", "pathRewriteDefaultPlaceholder": "/new-path", - "pathRewritePrefixHelp": "Replace the matched prefix with this value", - "pathRewriteExactHelp": "Replace the entire path with this value when the path matches exactly", - "pathRewriteRegexHelp": "Use capture groups like $1, $2 for replacement", - "pathRewriteStripPrefixHelp": "Leave empty to strip prefix or provide new prefix", - "pathRewritePrefix": "Prefix", - "pathRewriteExact": "Exact", - "pathRewriteRegex": "Regex", - "pathRewriteStrip": "Strip", - "pathRewriteStripLabel": "strip" + "pathRewritePrefixHelp": "用此值替换匹配的前缀", + "pathRewriteExactHelp": "当路径匹配时用此值替换整个路径", + "pathRewriteRegexHelp": "使用抓取组,如$1,$2来替换", + "pathRewriteStripPrefixHelp": "留空以脱离前缀或提供新的前缀", + "pathRewritePrefix": "前缀", + "pathRewriteExact": "精准的", + "pathRewriteRegex": "正则表达式", + "pathRewriteStrip": "带状图", + "pathRewriteStripLabel": "条形图", + "sidebarEnableEnterpriseLicense": "启用企业许可证", + "cannotbeUndone": "无法撤消。", + "toConfirm": "确认", + "deleteClientQuestion": "您确定要从站点和组织中删除客户吗?", + "clientMessageRemove": "一旦删除,客户端将无法连接到站点。" }