mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-11-07 00:05:14 +00:00
* feat(sync): sync php extended template * fix(i18n): complete resource sync translations --------- Co-authored-by: ssongliu <sloooop1x@gmail.com>
601 lines
36 KiB
YAML
601 lines
36 KiB
YAML
# 基础错误
|
||
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 服务已升级,旧资源清理未完成,请手动检查。"
|