Files
1Panel/core/i18n/lang/zh.yaml
Yuki Guoandssongliu d658395188 feat(sync): sync php extended template (#14299)
* feat(sync): sync php extended template

* fix(i18n): complete resource sync translations

---------

Co-authored-by: ssongliu <sloooop1x@gmail.com>
2026-11-05 15:06:12 +08:00

601 lines
36 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 基础错误
ErrInvalidParams: "请求参数错误: {{ .detail }}"
ErrTokenParse: "Token 生成错误: {{ .detail }}"
ErrInitialPassword: "原密码错误"
ErrInternalServer: "服务内部错误: {{ .detail }}"
ErrInternalServerKey: "服务内部错误:"
ErrRecordExist: "记录已存在"
ErrRecordNotFound: "记录未能找到"
ErrStructTransform: "类型转换失败: {{ .detail }}"
ErrNotSupportType: "系统暂不支持当前类型: {{ .name }}"
ErrDemoEnvironment: "演示服务器,禁止此操作!"
ErrCmdTimeout: "命令执行超时!"
ErrPortInUsed: "{{ .name }} 端口已被占用!"
ErrFileNotFound: '{{ .name }} 文件不存在'
ErrReqFailed: "{{.name}} 请求失败: {{ .err }}"
# 请求与安全入口
ErrNoSuchHost: "无法找到请求的服务器 {{ .err }}"
ErrHttpReqNotFound: "无法找到请求的资源 {{ .err }}"
ErrHttpReqFailed: "请求失败 {{ .err }}"
ErrHttpReqTimeOut: "请求超时 {{ .err }}"
ErrCreateHttpClient: "创建请求失败 {{ .err }}"
ErrProxy: "请求错误,请检查该节点状态: {{ .detail }}"
ErrProxySetting: "代理服务器信息不可用 {{ .err }},请检查后重试!"
ErrEntrance: "安全入口信息错误,请检查后重试!"
ErrEntranceFormat: "暂不支持安全入口 {{ .name }} ,请检查后重试!"
# 登录与安全
ErrNotLogin: "用户未登录: {{ .detail }}"
ErrSessionDataNotFound: "当前会话已过期!"
ErrSessionDataFormat: "当前会话数据格式异常!"
ErrPasswordExpired: "当前密码已过期: {{ .detail }}"
ErrLoginLocked: "失败次数过多,当前登录已被临时锁定 5 分钟。"
ErrApiConfigStatusInvalid: "API 接口禁止访问: {{ .detail }}"
ErrApiConfigKeyInvalid: "API 接口密钥错误: {{ .detail }}"
ErrApiConfigIPInvalid: "调用 API 接口 IP 不在白名单: {{ .detail }}"
ErrApiConfigDisable: "此接口禁止使用 API 接口调用: {{ .detail }}"
ErrApiConfigKeyTimeInvalid: "API 接口时间戳错误: {{ .detail }}"
ErrApiConfigKeyExpired: "API Key 已到期,请在面板的 API Key 管理中调整有效期或更换密钥。"
ErrPasskeyDisabled: "需开启 HTTPS 才能使用 Passkey"
ErrPasskeyNotConfigured: "尚未配置 Passkey"
ErrPasskeyLimit: "Passkey 数量已达上限(最多 5 个)"
ErrPasskeySession: "Passkey 会话已过期或无效"
ErrPasskeyDuplicate: "Passkey 已存在"
ErrPasskeyVerify: "Passkey 验证失败"
ErrOIDCNotEnabled: "OIDC 认证尚未启用"
ErrOIDCConfigInvalid: "OIDC 配置无效"
ErrOIDCConfigChanged: "OIDC 配置已变更,请重新发起认证"
ErrOIDCDiscoveryFailed: "OIDC Provider 配置发现失败"
ErrOIDCIssuerMismatch: "OIDC Issuer 与配置的 Issuer 不一致"
ErrOIDCUnsupportedPKCE: "OIDC Provider 不支持要求的 PKCE 方式"
ErrOIDCUnsupportedSigningAlgorithm: "不支持该 OIDC 签名算法"
ErrOIDCInvalidState: "OIDC 登录状态无效或已被使用"
ErrOIDCLoginExpired: "OIDC 登录请求已过期,请重试"
ErrOIDCTokenExchange: "OIDC 授权码换取 Token 失败"
ErrOIDCTokenValidation: "OIDC Token 校验失败"
ErrOIDCUserInfoValidation: "OIDC 用户信息校验失败"
ErrOIDCNameClaimMissing: "配置的 OIDC 用户名 Claim 缺失或无效"
ErrOIDCNameConflictLocal: "OIDC 用户名与本地用户冲突"
ErrOIDCNameConflictLDAP: "OIDC 用户名与 LDAP 用户冲突"
ErrOIDCNameConflictOIDC: "OIDC 用户名与其他 OIDC 身份冲突"
ErrOIDCDefaultRoleInvalid: "OIDC 配置的默认角色不可用"
ErrOIDCPrivateAddressDenied: "OIDC 端点地址不符合网络安全策略"
ErrOIDCTLSValidation: "OIDC TLS 证书校验失败"
ErrOIDCTestExpired: "OIDC 浏览器测试已过期,请重新测试"
ErrOIDCLocalCredentialsReadonly: "OIDC 用户名和密码由身份提供方管理,不能在本地修改。"
ErrOIDCPasswordExpirationUnsupported: "OIDC 用户不使用本地密码过期策略。"
ErrOIDCInternal: "OIDC 认证发生内部错误,请稍后重试。"
# 用户与权限
ErrNoSuchUser: "未能找到该用户信息,请检查后重试!"
ErrToMaster: "该用户无权限对主节点进行该操作,请检查后重试!"
ErrToNode: "该用户无权限对该节点进行该操作,请检查后重试!"
ErrRBAC: "用户权限不足,无法进行该操作,请检查后重试!"
ErrNoneNode: "该用户无任何节点权限,请联系管理员或检查后重试!"
ErrOnlySuperAdmin: "仅超级管理员支持该功能!"
ErrRolePresetCannotDelete: "系统预设角色,无法删除"
ErrRolePresetCannotUpdate: "系统预设角色,无法修改"
ErrRoleBoundToUser: "角色已被用户绑定,无法删除"
ErrRolePresetCannotBind: "系统预设角色,无法分配给用户"
ErrNodeAdminMasterForbidden: "主节点不允许添加节点管理员权限"
ErrSuperAdminCannotDelete: "超级管理员用户无法删除"
ErrGroupIsDefault: "默认分组,无法删除"
ErrGroupIsInUse: "分组正被使用,无法删除"
# 许可证
LicenseCheck: '检查许可证是否可用'
ErrLicenseInUsed: '检查到该许可证已被绑定,请检查后重试!'
ErrLicenseExpired: '检查到该许可证已过期,请检查后重试!'
ErrLicense: "许可证格式错误,请检查后重试!"
ErrLicenseCheck: "许可证校验失败,请检查后重试!"
ErrXpackVersion: "许可证校验失败,该许可证受版本限制,无法成功导入,请检查后重试!"
ErrLicenseSave: "许可证信息保存失败,错误 {{ .err }},请重试!"
ErrLicenseSync: "许可证信息同步失败,数据库中未检测到许可证信息!"
ErrLicenseExist: "该许可证记录已存在,您可直接前往许可证页面进行节点绑定。"
ErrXpackNotFound: "该部分为专业版功能,请先在 面板设置-许可证 界面导入许可证"
ErrXpackExceptional: "该部分为专业版功能,请先在 面板设置-许可证 界面同步许可证状态"
ErrXpackLost: "许可证已达到最大重试次数,请进入【面板设置】【许可证】页面手动点击同步按钮,以确保专业版功能正常使用"
ErrEnterpriseLicenseRequired: "企业版许可证未导入,请先导入许可证"
ErrDeviceLost: "许可证校验必要文件丢失,请检查后重试!"
ErrDeviceErr: "当前环境与许可证导入环境不一致,请编辑许可证重新导入!"
ErrXpackTimeout: "请求超时,网络连接可能不稳定,请稍后再试!"
ErrUnbindMaster: "检测到节点管理内存在专业版节点,无法解绑当前许可证,请先移除或解绑后重试!"
ErrFreeNodeLimit: "可添加节点数量已达到上限,请购买后重试!"
ErrNodeBound: "该许可证已绑定到其他节点,请检查后重试!"
ErrNodeBoundDelete: "该许可证已被绑定,不支持删除操作,请检查后重试!"
ErrNodeBoundLimit: "当前免费节点已经达到上限,请检查后重试!"
ErrLicenseFree: "仅当许可证正常绑定到节点后,才能使用其免费节点,请检查后重试!"
ErrLicenseUnbind: "检测到该许可证存在社区版节点,请在 [ 面板设置 - 许可证 ] 中解绑后重试!"
ErrLicenseBindCount: "新许可证免费节点数量小于当前已绑定的社区版节点数量,请检查后重试!"
ErrNoSuchNode: "未能找到该节点信息,请检查后重试!"
ErrNodeUnbind: "检测到该节点未在许可证绑定范围内,请检查后重试!"
ErrNodeBind: "检测到该节点已绑定许可证,请检查后重试!"
ErrNodeLocalRollback: "主节点暂不支持直接回滚,请手动执行 1pctl restore 命令回滚!"
ErrIntlLicense: "当前版本暂不支持导入国际版许可证,敬请期待!"
InvalidRequestBodyType: "请求体格式错误,请检查请求内容是否符合格式要求后重试!"
InvalidLicenseCodeType: "提供的许可证格式错误,请检查后重试!"
LicenseNotFoundType: "许可证不存在,系统中未找到与提供许可证匹配的记录,请检查后重试!"
LicenseRevokedType: "请求的许可证已被废弃,无法使用,请检查后重试!"
LicenseExpiredType: "许可证已超过有效期,请续费或在 面板设置-许可证 界面重新导入许可证后重试!"
LicenseProductMismatchType: "许可证与当前请求的产品或服务不匹配!"
InvalidAssigneeType: "许可证分配的目标用户或设备信息无效,请检查后重试!"
LicenseUsageNotFoundType: "无使用记录,当前许可证尚未被激活或使用,请检查后重试!"
LicenseUsageLimitExceededType: "该许可证已绑定到其他节点,请检查后重试!"
# 节点与集群
MasterNode: "主节点"
Node: "节点"
ErrLocalDelete: "无法删除本地节点!"
ErrMasterDelete: "无法删除主节点,请先删除从节点"
ClusterNameIsExist: "集群名称已存在"
AppStatusUnHealthy: "应用获取状态异常,请在节点列表检查安装节点状态"
MasterNodePortNotAvailable: "节点 {{ .name }} 端口 {{ .port }} 连通性校验失败,请检查防火墙/安全组设置和主节点状态"
ClusterMasterNotExist: "集群主节点失联,请删除子节点"
# 应用
CustomAppStoreFileValid: "应用商店包需要 .tar.gz 格式"
AppBackup: "应用备份"
AppBackupPush: "传输应用备份文件 {{.file}} 到节点 {{ .name }}"
ErrSourceTargetSame: "源节点和目标节点不能相同!"
AppInstall: "在 {{ .targetNode }} 节点安装应用 {{ .name }}"
AppInstallCheck: "检查应用安装环境"
# 备份
ErrBackupInUsed: "该备份账号已在计划任务中使用,无法删除"
ErrBackupCheck: "备份账号测试连接失败 {{ .err }}"
ErrBackupLocal: "本地服务器备份账号暂不支持该操作!"
ErrBackupPublic: "检测到该备份账号为非公用,请检查后重试!"
ErrOSSConn: "无法获取最新版本,请确认服务器是否能够连接外部网络。"
MvBackup: "移动数据到备份目录"
# 告警
ErrAlertSync: "告警信息同步错误,请检查后重试!"
# AI 网关
ErrAIProxyUserGroupIsDefault: "默认用户组无法删除"
ErrAIProxyUserGroupInUse: "用户组正被使用,无法删除"
ErrAIProxyUserGroupExists: "用户组名称已存在"
ErrAIProxyBackendAccountExists: "该模型服务已导入 AI 网关账号池,请勿重复导入"
ErrAIProxyModelGroupInUse: "模型组正在使用,无法删除"
ErrAIProxyModelGroupExists: "模型组名称已存在"
ErrAIProxySensitiveGroupInUse: "敏感词分组正在使用,无法删除"
ErrAIProxySensitiveGroupExists: "敏感词分组名称已存在"
AIProxyContentPolicyViolation: "抱歉,我无法处理该请求。请求内容可能不符合内容合规要求,请调整后重试。"
AIBenchmarkRun: "执行 AI 基准测试"
# 任务
TaskStart: "{{ .name }} 任务开始 [START]"
TaskEnd: "{{ .name }} 任务结束 [COMPLETED]"
TaskFailed: "{{ .name }} 任务失败"
TaskTimeout: "{{ .name }} 超时"
TaskSuccess: "{{ .name }} 任务成功"
TaskRetry: "开始第 {{ .name }} 次重试"
SubTaskSuccess: "{{ .name }} 成功"
SubTaskFailed: "{{ .name }} 失败: {{ .err }}"
TaskInstall: "安装"
TaskUpgrade: "升级"
TaskSync: "同步"
TaskSyncForNode: "同步节点数据"
TaskBackup: "备份"
TaskPush: "推送"
TaskRsync: "同步"
SuccessStatus: "{{ .name }} 成功"
FailedStatus: "{{ .name }} 失败 {{ .err }}"
Start: "开始"
SubTask: "子任务"
Skip: "忽略错误并继续..."
Success: "成功"
# AI 网关智能路由任务
AIProxySmartRouteCreateTask: "创建 AI 网关智能路由样本"
AIProxySmartRouteCreateSubTask: "创建样本并生成向量"
AIProxySmartRouteCreateStart: "开始创建样本,共 {{ .total }} 条"
AIProxySmartRouteCreateFailed: "[{{ .current }}/{{ .total }}] 创建失败:type={{ .type }} label={{ .label }} error={{ .err }}"
AIProxySmartRouteCreateSuccess: "[{{ .current }}/{{ .total }}] 创建成功:sampleID={{ .id }} type={{ .type }} label={{ .label }}"
AIProxySmartRouteCreateComplete: "创建完成:成功 {{ .success }} 条,失败 {{ .failed }} 条"
AIProxySmartRouteCreateError: "创建样本失败:失败 {{ .failed }} 条,最后错误"
AIProxySmartRouteRebuildTask: "重建 AI 网关智能路由样本向量"
AIProxySmartRouteRebuildSubTask: "重建样本向量"
AIProxySmartRouteEmbeddingRequired: "Embedding 地址和模型不能为空"
AIProxySmartRouteRebuildStart: "开始重建样本向量,共 {{ .total }} 条"
AIProxySmartRouteRebuildFailed: "[{{ .current }}/{{ .total }}] 重建失败:sampleID={{ .id }} type={{ .type }} label={{ .label }} error={{ .err }}"
AIProxySmartRouteRebuildSuccess: "[{{ .current }}/{{ .total }}] 重建成功:sampleID={{ .id }} type={{ .type }} label={{ .label }}"
AIProxySmartRouteRebuildComplete: "重建完成:成功 {{ .success }} 条,失败 {{ .failed }} 条"
AIProxySmartRouteRebuildError: "重建样本向量失败:失败 {{ .failed }} 条,最后错误"
# 智能体批量任务
BatchInstallAgent: "批量安装智能体"
DispatchAgentInstallTasks: "下发智能体安装任务"
BatchUpgradeAgent: "批量升级智能体"
DispatchAgentUpgradeTasks: "下发智能体升级任务"
BatchAgentInstallDispatchFailed: "{{ .node }} 节点下发 {{ .agentType }} 安装任务失败 Message: {{ .err }}"
BatchAgentInstallSubmitted: "{{ .node }} 节点下发 {{ .agentType }} 安装任务成功!"
BatchAgentUpgradeDispatchFailed: "{{ .node }} 节点下发 {{ .agentType }} 升级任务失败 Message: {{ .err }}"
BatchAgentUpgradeAlreadyLatest: "{{ .node }} 节点 {{ .agent }} 已是目标版本,跳过"
BatchAgentUpgradeSubmitted: "{{ .node }} 节点下发 {{ .agent }} 升级任务成功!"
BatchAgentUpgradeFailed: "{{ .node }} 节点下发 {{ .agent }} 升级任务失败 Message: {{ .err }}"
BatchInstallAgentSkill: "批量下发 Skill"
DispatchAgentSkillInstallTasks: "下发 Skill 安装任务"
BatchAgentSkillDispatchFailed: "{{ .node }} 节点下发 {{ .skill }} 到 {{ .target }} 失败 Message: {{ .err }}"
BatchAgentNoAgentsFound: "{{ .node }} 节点未发现 {{ .agentType }} 智能体,跳过"
BatchAgentSkillSkipped: "{{ .node }} 节点 {{ .agent }} 跳过 Message: {{ .msg }}"
BatchAgentSkillInstallSubmitted: "{{ .node }} 节点下发 {{ .skill }} 到 {{ .agent }} 安装任务成功!"
BatchAgentSkillInstallFailed: "{{ .node }} 节点下发 {{ .skill }} 到 {{ .agent }} 安装任务失败 Message: {{ .err }}"
BatchAgentOperateDispatchFailed: "{{ .node }} 节点下发 {{ .agentType }} {{ .operate }}任务失败 Message: {{ .err }}"
BatchAgentOperateSkipped: "{{ .node }} 节点 {{ .agent }} 跳过 Message: {{ .msg }}"
BatchAgentOperateSubmitted: "{{ .node }} 节点下发 {{ .agent }} {{ .operate }}任务成功!"
BatchAgentOperateFailed: "{{ .node }} 节点下发 {{ .agent }} {{ .operate }}任务失败 Message: {{ .err }}"
BatchStartAgent: "批量启动智能体"
DispatchAgentStartTasks: "下发智能体启动任务"
BatchStopAgent: "批量停止智能体"
DispatchAgentStopTasks: "下发智能体停止任务"
BatchRestartAgent: "批量重启智能体"
DispatchAgentRestartTasks: "下发智能体重启任务"
BatchDeleteAgent: "批量删除智能体"
DispatchAgentDeleteTasks: "下发智能体删除任务"
AgentOperateStart: "启动"
AgentOperateStop: "停止"
AgentOperateRestart: "重启"
AgentOperateDelete: "删除"
# 应用与技能任务
PushAppInstallTaskToNode: "推送应用安装任务到节点 [{{ .name }}]"
AppInstallTask: "应用安装任务"
PushAppFailed: "推送应用安装任务失败"
SkillHubInstallTask: "安装技能 [{{ .name }}]"
SkillHubInstallToTarget: "安装技能 [{{ .name }}] 到目标 [{{ .target }}]"
# 脚本库
ScriptLibrary: "脚本库"
RemoteScriptLibrary: "远程脚本库"
ScriptSyncSkip: "检查到当前脚本库已是最新版本!"
DownloadData: "下载脚本库文件 data.yaml"
DownloadPackage: "下载脚本库压缩包"
AnalyticCompletion: "解析成功,现在开始同步到数据库..."
# 节点同步
SyncNode: "同步数据到节点 {{ .name }}"
LocalName: "local 名称仅用于系统本机标识"
SyncPackageData: "打包同步数据"
SyncPackageEncrypt: "数据包加密"
SyncRequest: "请求节点同步接口"
SyncFailedRetry: "第 {{ .index }} 次同步节点数据失败超时,正在重试..."
SyncFailed: "同步失败,请在节点列表中手动同步!"
SyncSystemProxy: "系统代理配置"
SyncScripts: "脚本库"
SyncBackupAccounts: "备份账号"
SyncAlertSetting: "告警设置"
SyncCustomApp: "自定义应用"
SyncLanguage: "系统语言"
SyncEdition: "运行区域"
# 节点升级
NodeUpgrade: "升级节点 {{ .name }}"
UpgradeCheck: "检查节点更新"
UpgradeCheckLocal: "本地节点不支持批量升级,跳过..."
UpgradeCheckLatest: "检测到该节点已是最新版本,跳过..."
NewSSHClient: "初始化 SSH 连接"
BackupBeforeUpgrade: "升级前备份数据"
UploadUpgradeFile: "下发升级所需文件"
RestartAfterUpgrade: "升级后启动服务"
LoadAutoUpgradeNodesFailed: "加载自动升级节点失败,错误: {{ .err }}"
AutoUpgradeNodes: "自动升级节点: {{ .nodes }}"
UpdateAutoUpgradeNodesStatusFailed: "更新自动升级节点状态失败,错误: {{ .err }}"
# 添加节点
MasterData: "主节点数据"
LoadSftpClient: "获取上传客户端"
PackageMasterData: "生成主节点备份压缩包"
UploadBackup: "上传备份数据"
TaskAddNode: "添加节点"
LoadNodeArch: "获取节点架构信息"
LoadNodeArchDetail: "检测到主节点架构: {{ .local }},子节点架构: {{ .node }}"
LoadNodeUpgradeDetail: "使用 v1 版本历史安装目录: {{ .baseDir }},服务监听端口: {{ .port }}"
SyncAgentBaseInfo: "同步节点基础数据"
GenerateSSLInfo: "生成节点 SSL 信息"
ConnInfoNotMatch: "连接信息不匹配"
MakeAgentPackage: "生成节点安装包"
PrepareNodePackage: "准备子节点已有安装包"
PrepareNodePackageDetail: "使用子节点已有安装包:{{ .name }}"
SyncNodeConfig: "同步节点配置"
ErrNodePackagePath: "请填写子节点安装包的绝对文件路径"
ErrNodePackageFile: "处理安装包文件 {{ .name }} 失败:{{ .err }}"
ErrNodePackageMember: "安装包包含无效或重复条目:{{ .name }}"
ErrNodePackageMismatch: "安装包必须匹配主节点版本 {{ .version }} 和子节点架构 {{ .arch }}"
ErrNodePackageMissing: "安装包缺少必要文件:{{ .name }}"
ErrNodePackageVersion: "安装包版本 {{ .version }} 与主节点版本 {{ .expected }} 不一致"
ErrNodePackageArch: "Agent 程序架构与子节点架构 {{ .arch }} 不一致"
SendAgent: "下发节点安装包"
StartService: "启动服务"
NoBackupNode: "当前备份节点为空,请选择备份节点保存后重试!"
# 节点文件与镜像同步
LocalNodeIpFailed: "无法获取主节点 IP ,请编辑主节点增加 IP 地址和 SSH 认证信息"
HandlePrivateKey: "处理节点私钥"
HandlePublicKey: "处理节点公钥"
ExchangeFile: "开始从 {{ .source }} 节点同步 {{ .sourcePath }} 到 {{ .dest }} 节点 {{ .destPath }}"
NodeFile: "节点文件"
ImageSyncTaskName: "镜像同步 {{ .count }} 张镜像"
SSLSyncTaskName: "证书同步 {{ .count }} 张证书"
AppSyncTaskName: "应用同步 {{ .name }}"
SSLSyncToNode: "推送证书 [{{ .cert }}] 到节点 [{{ .node }}]"
ImageSyncSave: "保存镜像 {{ .image }}"
ImageSyncSaveTags: "保存镜像标签 {{ .tags }}"
ImageSyncToNode: "同步镜像 {{ .image }} 到节点 {{ .node }}"
ImageSyncLoad: "在节点 {{ .node }} 加载镜像 {{ .image }}"
ImageSyncClean: "清理镜像 {{ .image }} 临时文件"
ImageSyncNoTag: "镜像 {{ .image }} 没有标签,将使用镜像 ID 保存"
ImageSyncFrontendTagsIgnored: "镜像 {{ .image }} 在源节点未查询到标签,已忽略前端传入标签"
ImageSyncHandlePrivateKey: "处理镜像同步节点私钥"
ImageSyncHandlePublicKey: "处理镜像同步节点公钥"
ImageSyncTransfer: "开始传输镜像临时文件:{{ .source }}:{{ .sourcePath }} -> {{ .dest }}:{{ .destPath }}"
# 命令行
SudoHelper: "请使用 {{ .cmd }} 或切换到 root 用户"
UsernameNeed: "企业版必须指定 --username"
DBConnErr: "错误: 初始化数据库连接失败,{{ .err }}"
SystemVersion: "版本: "
SystemMode: "模式: "
# 命令行 - 应用
AppVersion: "应用版本"
AppCommands: "应用相关命令"
AppInit: "初始化应用"
AppKeyVal: "应用的 key(仅支持英文)"
AppCreateFileErr: "文件 {{ .name }} 创建失败 {{ .err }}"
AppCreateDirErr: "文件夹 {{ .name }} 创建失败 {{ .err }}"
AppMissKey: "应用的 key 缺失,使用 -k 指定"
AppMissVersion: "应用版本缺失,使用 -v 指定"
AppVersionExist: "版本已存在!"
AppCreateSuccessful: "创建成功!"
AppWriteErr: "文件 {{ .name }} 写入失败 {{ .err }}"
# 命令行 - 监听 IP
ListenIPCommands: "切换监听 IP"
ListenIPv4: "监听 IPv4"
ListenIPv6: "监听 IPv6"
ListenChangeSuccessful: "切换成功!已切换至监听 {{ .value }}"
# 命令行 - 重置
ResetCommands: "重置系统信息"
ResetMFA: "取消 1Panel 两步验证"
ResetHttps: "取消 1Panel https 方式登录"
ResetEntrance: "取消 1Panel 安全入口"
ResetIPs: "取消 1Panel 授权 IP 限制"
ResetDomain: "取消 1Panel 访问域名绑定"
ResetPasskey: "清空 1Panel 通行密钥"
# 命令行 - 用户
UserList: "获取 1Panel 用户列表"
UserTableName: "名称"
UserTableMFAStatus: "MFA 状态"
UserTableSuperAdmin: "超级管理员"
UserTableCreatedAt: "创建时间"
UserEmptyList: "暂无用户"
UserInfo: "获取面板信息"
UserInfoAddr: "面板地址: "
UserInfoPassHelp: "提示: 修改密码可执行命令: "
# 命令行 - 回滚
RestoreCommands: "回滚 1Panel 服务及数据"
RestoreNoSuchFile: "暂无可回滚文件"
RestoreStep1: "(1/5)开始从 {{ .name }} 目录回滚 1Panel 服务及数据... "
RestoreStep2: "(2/5)1Panel 二进制回滚成功"
RestoreStep3: "(3/5)1Panel 脚本回滚成功"
RestoreStep4: "(4/5)1Panel 服务回滚成功"
RestoreStep5: "(5/5)1Panel 数据回滚成功"
RestoreSuccessful: "回滚成功!已回滚到 {{ .version }},正在重启服务,请稍候..."
# 命令行 - 修改
UpdateCommands: "修改面板信息"
UpdateUser: "修改用户信息"
UpdatePassword: "修改用户密码"
UpdatePort: "修改面板端口"
UpdateUserNull: "错误: 输入用户为空!"
UpdateUserBlank: "错误: 输入用户中包含空格字符!"
UpdateUserFormat: "错误: 输入用户错误!仅支持英文、中文、数字和_,长度3-30"
UpdateUserErr: "错误: 用户修改失败,{{ .err }}"
UpdateSuccessful: "修改成功!"
UpdateUserResult: "用户: {{ .name }}"
UpdatePasswordRead: "错误: 用户密码信息读取错误,{{ .err }}"
UpdatePasswordNull: "错误: 输入用户密码为空!"
UpdateUPasswordBlank: "错误: 输入用户密码中包含空格字符!"
UpdatePasswordFormat: "错误: 用户密码仅支持字母、数字、特殊字符(!@#$%*_,.?),长度 8-30 位!"
UpdatePasswordLen: "错误: 请输入 6 位以上密码!"
UpdatePasswordRe: "确认密码: "
UpdatePasswordErr: "错误: 用户密码修改失败,{{ .err }}"
UpdatePasswordSame: "错误: 两次密码不匹配,请检查后重试!"
UpdatePasswordResult: "用户密码: {{ .name }}"
UpdatePortFormat: "错误: 输入的端口号必须在 1 到 65535 之间!"
UpdatePortUsed: "错误: 该端口号正被占用,请检查后重试!"
UpdatePortErr: "错误: 面板端口修改失败,{{ .err }}"
UpdatePortResult: "面板端口: {{ .name }}"
UpdatePortFirewallAdd: "添加防火墙端口规则失败,{{ .err }},请您手动将 {{ .name }} 端口添加至防火墙规则中。"
UpdatePortFirewallDel: "错误: 防火墙端口删除失败,{{ .err }}"
UpdatePortFirewallReload: "防火墙重载失败,{{ .err }},请您手动重载防火墙。"
# 移动端
ErrVerifyToken: '令牌验证错误,请重置后再次扫码'
ErrInvalidToken: '无效的令牌,请重置后再次扫码'
ErrExpiredToken: '二维码已失效,请重新生成后再次扫码'
# 命令导出
Name: "名称"
Command: "命令"
# LDAP
ErrLDAPConnectionTest: "LDAP 连接测试失败,请检查服务地址、绑定账号和网络设置。"
ErrLDAPLoginTest: "LDAP 登录测试失败,请检查用户名和密码。"
LDAPConnectionTestSuccess: "LDAP 连接测试成功。"
ErrLDAPDirectorySearch: "读取 LDAP 用户失败,请检查连接和搜索设置。"
ErrLDAPConfigLoad: "加载 LDAP 配置失败。"
ErrLDAPConfigSave: "保存 LDAP 配置失败。"
ErrLDAPURLInvalid: "LDAP 服务地址必须使用 ldap:// 或 ldaps://,并包含有效的主机地址。"
ErrLDAPBindDNRequired: "请输入绑定 DN。"
ErrLDAPBindPasswordRequired: "请输入绑定密码。"
ErrLDAPUserOURequired: "请输入用户 OU。"
ErrLDAPConnectTimeoutRange: "连接超时时间必须在 1 到 120 秒之间。"
ErrLDAPSearchPageSizeRange: "LDAP 查询分页大小必须在 1 到 10000 之间。"
ErrLDAPResultPageSizeRange: "结果分页大小不能超过 200。"
ErrLDAPAttributeMapOnlyName: "属性映射仅支持 name 字段。"
ErrLDAPNameAttributeRequired: "请输入映射到 name 的 LDAP 属性。"
ErrLDAPAttributeNameInvalid: "属性映射中包含无效的 LDAP 属性名。"
ErrLDAPUserFilterRequired: "请输入用户过滤器。"
ErrLDAPUserFilterInvalid: "用户过滤器不是有效的 LDAP 过滤器。"
ErrLDAPAttributeMapObject: "属性映射必须是有效的 JSON 对象。"
ErrLDAPImportModeInvalid: "导入模式必须为导入选中用户或导入全部用户。"
ErrLDAPImportSelectionRequired: "请至少选择一个要导入的 LDAP 用户。"
ErrLDAPImportSelectionInvalid: "选中的 LDAP 用户无效或已不存在,请重新读取目录。"
ErrLDAPConfigChanged: "LDAP 配置已变更,请重新读取目录并预览导入。"
ErrLDAPRoleRequired: "请选择新 LDAP 用户的角色。"
ErrLDAPImportPlanIncomplete: "不能执行不完整的 LDAP 导入计划。"
ErrLDAPQueryTokenInvalid: "LDAP 查询结果已过期,请重新读取目录。"
ErrLDAPPlanTokenInvalid: "LDAP 导入预览已过期,请重新预览。"
ErrLDAPOperationFailed: "LDAP 操作失败,请重试。"
ErrLDAPEntryIdentityMissing: "LDAP 条目缺少稳定 ID 或用户名。"
ErrLDAPDuplicateExternalID: "LDAP 返回了重复的用户 ID。"
ErrLDAPUsernameConflict: "该用户名已被其他用户使用。"
ErrLDAPUsernameSourceConflict: "该用户名已被本地用户或其他认证源使用。"
ErrLDAPUsernameConcurrentConflict: "导入期间该用户名已被其他用户占用。"
ErrLDAPLocalCredentialsReadonly: "LDAP 用户名和密码由 LDAP 管理,不能在本地修改。"
ErrLDAPPasswordExpirationUnsupported: "LDAP 用户不使用本地密码过期策略。"
ErrLDAPSyncSourceDisabled: "请先启用 AD/LDAP,再开启或执行同步。"
ErrLDAPSyncConfigSave: "保存 LDAP 同步设置失败。"
ErrLDAPSyncSchedule: "更新 LDAP 同步计划失败。"
ErrLDAPSyncCronInvalid: "请输入有效的五段式 Cron 表达式。"
ErrLDAPSyncWeekdayInvalid: "请选择有效的星期。"
ErrLDAPSyncCronRequired: "请输入 Cron 表达式。"
ErrLDAPSyncScheduleTypeInvalid: "请选择有效的同步执行周期。"
ErrLDAPSyncTimeInvalid: "请输入有效的执行时间。"
ErrLDAPSyncRunning: "已有 LDAP 同步任务正在执行。"
ErrLDAPSyncDirectoryIncomplete: "LDAP 全量查询结果不完整,本次未改变任何用户状态。"
ErrLDAPSyncFailed: "LDAP 用户同步失败。"
LDAPSyncSuccess: "LDAP 用户同步成功。"
ErrSAML2NotEnabled: "SAML2 认证尚未启用"
ErrSAML2ConfigInvalid: "SAML2 配置无效"
ErrSAML2ConfigChanged: "SAML2 配置已变更,请重新发起认证"
ErrSAML2PanelOriginMissing: "请输入有效的面板对外访问地址,仅包含协议、主机和可选端口"
ErrSAML2MetadataInvalid: "IdP Metadata 缺失或无效"
ErrSAML2MetadataURLInvalid: "IdP Metadata URL 或 Metadata 中的端点地址不符合安全策略"
ErrSAML2MetadataFetch: "获取 IdP Metadata 失败"
ErrSAML2MetadataCertificate: "IdP Metadata 中没有可用的签名证书"
ErrSAML2KeyPairInvalid: "SP 私钥和证书无效或不匹配"
ErrSAML2NameAttributeMissing: "配置的 SAML2 用户名属性缺失或无效"
ErrSAML2DefaultRoleInvalid: "SAML2 配置的默认角色不可用"
ErrSAML2SLOUnavailable: "IdP 未提供支持的单点注销服务"
ErrSAML2TestExpired: "SAML2 测试已过期,请重新测试"
ErrSAML2LoginExpired: "SAML2 登录请求已过期,请重试"
ErrSAML2InvalidState: "SAML2 登录状态无效或已被使用"
ErrSAML2RequestBuild: "生成 SAML2 请求失败"
ErrSAML2ResponseInvalid: "SAML2 响应无效"
ErrSAML2SignatureInvalid: "SAML2 签名校验失败"
ErrSAML2Replay: "SAML2 消息已被使用"
ErrSAML2NameIDMissing: "SAML2 NameID 缺失或无效"
ErrSAML2SessionIndexMissing: "SAML2 SessionIndex 缺失或无效"
ErrSAML2NameConflictLocal: "SAML2 用户名与本地用户冲突"
ErrSAML2NameConflictLDAP: "SAML2 用户名与 LDAP 用户冲突"
ErrSAML2NameConflictOIDC: "SAML2 用户名与 OIDC 用户冲突"
ErrSAML2NameConflictSAML2: "SAML2 用户名与其他 SAML2 身份冲突"
ErrSAML2Internal: "SAML2 认证发生内部错误,请稍后重试"
ErrSAML2LogoutExpired: "SAML2 注销请求已过期"
ErrSAML2LogoutInvalid: "SAML2 注销消息无效"
ErrSAML2LocalCredentialsReadonly: "SAML2 用户名和密码由身份提供商管理,无法在本地修改。"
ErrSAML2PasswordExpirationUnsupported: "SAML2 用户不使用本地密码过期策略。"
# API key management
ErrAPIKeyConflict: "API Key 已发生变化,请刷新后重试;重复创建请使用原请求参数"
ErrAPIKeyNameExists: "已存在同名的未撤销 API Key"
ErrAPIKeyNotFound: "API Key 不存在或不属于当前用户"
ErrAPIKeyAppBindingDisabled: "此 API Key 未允许 APP 扫码绑定"
ErrAPIKeyTerminalUpgradeRequired: "无法确认节点支持 API Key 终端授权,请检查节点连接并升级 Agent 后重试。"
LocalAppSyncDispatch: "下发本地应用同步"
LocalAppSyncDispatchNode: "向节点 {{.node}} 下发本地应用同步(节点任务:{{.taskID}})"
ErrLocalAppSyncDisabled: "尚未开启本地应用跨节点同步"
# MCP connection document
MCPDocumentTitle: "1Panel MCP 接入配置提示词"
MCPDocumentIntro: "将本文件交给 AI Agent,要求其按文档完成配置。本文件包含完整 Token,请私密保存。"
MCPDocumentTaskTitle: "给 AI Agent 的配置任务"
MCPDocumentTask: "请在当前环境中为下方指定的客户端配置 1Panel MCP,并完成连接和工具发现验证。连接参数以本文配置片段为准。"
MCPDocumentClientCodex: "目标客户端:Codex。先确认配置作用域和实际 CODEX_HOME;使用生效的 config.toml(默认 ~/.codex/config.toml),将下方 TOML 合并到对应 mcp_servers 条目。"
MCPDocumentClientClaude: "目标客户端:Claude。先确认实际客户端版本;下方 JSON 适用于支持 HTTP MCP 配置的客户端。使用该版本支持的配置位置或管理方式,不把远程 HTTP 配置写进仅支持 stdio 的入口。"
MCPDocumentClientGeneric: "目标客户端:通用 MCP 客户端。先识别当前使用的客户端和配置作用域;无法确定时询问用户,不猜测配置文件位置。按照客户端语法合并下方连接参数。"
MCPDocumentSteps: |-
1. 确认目标客户端支持 Streamable HTTP 与 Bearer 请求头;版本不支持时说明原因。
2. 读取并备份现有配置,将下方唯一服务器条目合并,保留其它 MCP 和客户端设置;同名时只更新这一项。
3. 按原值写入 URL 与 Authorization,不重置 Token、不更改面板权限或服务启停状态,不将 Token 写入命令行历史、日志、回复或 Git。
4. HTTPS 保持证书校验;私有 CA 需用户提供可信 CA,不自动信任服务端证书或关闭 TLS 校验。HTTP 仅限可信网络,跨不可信网络前先配置 HTTPS。
5. 使用客户端重新加载,执行 MCP 初始化及 tools/list 验证;不执行 tools/call 或写入操作。无法重载时报告需要新会话或重启,勿把保存文件当作连接成功。
6. 报告客户端、配置位置、服务器名、连接与工具发现结果及仍待处理的问题,隐藏 Token。
MCPDocumentConfigTitle: "连接配置"
MCPDocumentNotes: "工具、节点及所属账号当前权限由面板服务端每次校验。Token 重新生成后需更新客户端配置,停用、撤销或过期后接入会被拒绝。"
MCPDocumentHTTPWarning: "当前地址使用未加密 HTTP;在不可信网络使用前,请先配置 HTTPS。"
# MCP management
ErrMCPConflict: "MCP 数据冲突,请刷新后核对。"
ErrMCPSettingsChanged: "服务配置已更新,请刷新后核对。"
ErrMCPCredentialChanged: "凭据已更新,请刷新后核对。"
ErrMCPCredentialRevoked: "凭据已撤销,请创建新凭据。"
ErrMCPCredentialNameExists: "凭据名称已存在,请更换名称。"
ErrMCPRequestReused: "请求内容冲突,请重新打开操作窗口。"
ErrMCPInstallationRunning: "安装进行中,请查看安装日志。"
ErrMCPServiceOperationRunning: "服务操作进行中,请完成后刷新。"
ErrMCPEndpointManagedByWebsite: "接入地址由网站管理,请在网站设置中修改。"
ErrMCPWebsiteConfigurationExists: "已有绑定或待处理操作,请取消“安装后绑定网站”。"
ErrMCPWebsiteAlreadyBound: "网站已绑定,请管理或解除现有绑定。"
ErrMCPWebsiteNotBound: "网站未绑定,请刷新后绑定。"
ErrMCPWebsiteMissing: "原网站已不存在,请解除失效绑定后重新绑定。"
ErrMCPWebsiteOperationPending: "网站操作待确认,请刷新后重试原操作。"
ErrMCPWebsiteDomainConflict: "域名与端口组合已占用,请更换域名或端口。"
ErrMCPWebsiteOwnershipChanged: "网站归属已变化,请核对网站与绑定配置。"
ErrMCPWebsiteDomainChanged: "网站域名已变化,请核对后刷新绑定状态。"
ErrMCPWebsiteDirectoryChanged: "网站目录或权限已变化,请恢复后重试。"
ErrMCPWebsiteProxyModified: "代理配置冲突,请恢复 MCP 代理配置。"
ErrMCPWebsiteModified: "网站协议或配置已变化,请核对后刷新。"
ErrMCPWebsiteRequestChanged: "网站操作记录不一致,请刷新核对后重新操作。"
ErrMCPWebsiteProxyNotLoaded: "MCP 代理未加载,请检查网站配置和 OpenResty。"
ErrMCPWebsiteStateUnconfirmed: "网站状态待确认,请检查网站和 OpenResty 后刷新。"
ErrMCPPolicyChanged: "工具目录或授权已变化,请刷新核对后保存。"
ErrMCPCatalogUnavailable: "工具目录不可用,请检查服务状态。"
ErrMCPDisabled: "MCP 服务未启用。"
ErrMCPSecretKeyUnavailable: "凭据加密不可用,请稍后重试。"
ErrMCPSecretInvalid: "Token 无法解密,请重新生成。"
ErrMCPCredentialInactive: "凭据已停用、过期或撤销。"
ErrMCPAuditUnavailable: "操作审计不可用,请先核对操作结果。"
ErrMCPEndpointUnavailable: "请先配置有效的 MCP 接入地址。"
ErrMCPWebsitePending: "网站操作结果待确认,请刷新后重试原操作。"
ErrMCPWebsiteUnavailable: "网站绑定不可用,请检查网站和 OpenResty。"
ErrMCPWebsiteServiceRequired: "请先安装 1Panel MCP 服务。"
ErrMCPWebsiteHTTPPortRequired: "HTTPS 绑定请使用 OpenResty 的 HTTP 端口。"
# MCP installation tasks
PanelMCP: "1Panel MCP"
MCPInstallPrepare: "检查当前 MCP 服务"
MCPInstallPullImage: "检查并拉取镜像"
MCPInstallCatalog: "校验工具契约"
MCPInstallStarting: "启动容器并检查健康状态"
MCPInstallSaving: "保存服务配置"
MCPInstallCompleted: "MCP 服务安装完成"
MCPInstallRollback: "安装失败,恢复之前的 MCP 服务"
MCPInstallBindWebsite: "创建绑定网站"
MCPInstallWebsiteFailed: "服务已安装,网站绑定失败,请前往服务设置处理。"
MCPInstallInterrupted: "面板重启中断安装,请核对服务状态。"
MCPInstallFailed: "安装失败,请检查 Docker、镜像和面板日志。"
MCPInstallRecoveryFailed: "安装失败且原服务恢复不完整,请核对服务状态。"
MCPInstallLocalImage: "本地镜像已存在,跳过下载"
MCPInstallVerifyImage: "校验镜像版本和受管契约"
MCPInstallVerifiedImage: "镜像校验通过"
PHPExtensionsNoTargets: "排除源节点后,没有可同步的目标节点"
PHPExtensionsSyncTask: "同步 PHP 扩展模版 [{{ .name }}]"
PHPExtensionsSyncSkipped: "节点 [{{ .node }}] 已存在相同模版,跳过"
MCPInstallCleanup: "正在清理旧容器"
MCPInstallOldContainerRemoved: "旧容器已删除"
MCPInstallOldImageRemoved: "旧镜像已删除"
MCPInstallOldImageKept: "旧镜像已保留"
MCPInstallOldImageRetained: "旧镜像仍被引用或存在其他标签,已保留。"
MCPInstallCleanupSkipped: "旧容器已不存在,跳过旧镜像清理。"
MCPInstallCleanupFailed: "MCP 服务已升级,旧资源清理未完成,请手动检查。"