ErrInvalidParams: "请求参数错误: {{ .detail }}"
ErrTokenParse: "Token 生成错误: {{ .detail }}"
ErrInitialPassword: "原密码错误"
ErrInternalServer: "服务内部错误: {{ .detail }}"
ErrRecordExist: "记录已存在"
ErrRecordNotFound: "记录未能找到"
ErrStructTransform: "类型转换失败: {{ .detail }}"
ErrNotLogin: "用户未登录: {{ .detail }}"
ErrPasswordExpired: "当前密码已过期: {{ .detail }}"
ErrNotSupportType: "系统暂不支持当前类型: {{ .detail }}"
ErrProxy: "请求错误，请检查该节点状态: {{ .detail }}"
ErrApiConfigStatusInvalid: "API 接口禁止访问: {{ .detail }}"
ErrApiConfigKeyInvalid: "API 接口密钥错误: {{ .detail }}"
ErrApiConfigIPInvalid: "调用 API 接口 IP 不在白名单: {{ .detail }}"
ErrApiConfigDisable: "此接口禁止使用 API 接口调用: {{ .detail }}"
ErrApiConfigKeyTimeInvalid: "API 接口时间戳错误: {{ .detail }}"

#request
ErrNoSuchHost: "无法找到请求的服务器 {{ .err }}"
ErrHttpReqNotFound: "无法找到请求的资源 {{ .err }}"
ErrHttpReqFailed: "请求失败 {{ .err }}"
ErrHttpReqTimeOut: "请求超时 {{ .err }}"
ErrCreateHttpClient: "创建请求失败 {{ .err }}"

#common
ErrDemoEnvironment: "演示服务器，禁止此操作!"
ErrCmdTimeout: "命令执行超时！"
ErrEntrance: "安全入口信息错误，请检查后重试！"
ErrGroupIsDefault: "默认分组，无法删除"
ErrLocalDelete: "无法删除本地节点！"
ErrPortInUsed: "{{ .name }} 端口已被占用！"

#app 
CustomAppStoreFileValid: "应用商店包需要 .tar.gz 格式"

#backup
ErrBackupInUsed: "该备份账号已在计划任务中使用，无法删除"
ErrBackupCheck: "备份账号测试连接失败 {{ .err }}"
ErrBackupLocal: "本地服务器备份账号暂不支持该操作！"
ErrBackupPublic: "检测到该备份账号为非公用，请检查后重试！"
ErrOSSConn: "无法获取最新版本，请确认服务器是否能够连接外部网络。"

#license
ErrLicense: "许可证格式错误，请检查后重试！"
ErrLicenseCheck: "许可证校验失败，请检查后重试！"
ErrXpackVersion: "许可证校验失败，该许可证受版本限制，无法成功导入，请检查后重试！"
ErrLicenseSave: "许可证信息保存失败，错误 {{ .err }}，请重试！"
ErrLicenseSync: "许可证信息同步失败，数据库中未检测到许可证信息！"
ErrXpackNotFound: "该部分为专业版功能，请先在 面板设置-许可证 界面导入许可证"
ErrXpackExceptional: "该部分为专业版功能，请先在 面板设置-许可证 界面同步许可证状态"
ErrXpackOutOfDate: "当前许可证已过期，请重新在 面板设置-许可证 界面导入许可证"
ErrXpackLost: "许可证已达到最大重试次数，请进入【面板设置】【许可证】页面手动点击同步按钮，以确保专业版功能正常使用"
ErrXpackTimeout: "请求超时，网络连接可能不稳定，请稍后再试！"
ErrUnbindMaster: "检测到节点管理内存在节点，无法解绑当前许可证，请先移除后重试！"
ErrFreeNodeLimit: "社区版节点数量已达到免费上限，请前往 www.lxware.cn/1panel 购买后重试！"
ErrNodeBound: "该许可证已绑定到其他节点，请检查后重试！"
ErrNoSuchNode: "未能找到该节点信息，请检查后重试！"
ErrNodeUnbind: "检测到该节点未在许可证绑定范围内，请检查后重试！"
ErrNodeBind: "检测到该节点已绑定许可证，请检查后重试！"

# alert
ErrAlertSync: "告警信息同步错误，请检查后重试！"

#task
TaskStart: "{{ .name }} 任务开始 [START]"
TaskEnd: "{{ .name }} 任务结束 [COMPLETED]"
TaskFailed: "{{ .name }} 任务失败"
TaskTimeout: "{{ .name }} 超时"
TaskSuccess: "{{ .name }} 任务成功"
TaskRetry: "开始第 {{ .name }} 次重试"
SubTaskSuccess: "{{ .name }} 成功"
SubTaskFailed: "{{ .name }} 失败: {{ .err }}"
TaskInstall: "安装"
TaskUpgrade: "升级"
SuccessStatus: "{{ .name }} 成功" 
FailedStatus: "{{ .name }} 失败 {{.err}}"
Start: "开始"
SubTask: "子任务"

#upgrade node
NodeUpgrade: "升级节点 {{ .name }}"
NewSSHClient: "初始化 SSH 连接"
BackupBeforeUpgrade: "升级前备份数据"
UploadUpgradeFile: "下发升级所需文件"
RestartAfterUpgrade: "升级后启动服务"

#add node
TaskAddNode: "添加节点"
SyncAgentBaseInfo: "同步节点基础数据"
GenerateSSLInfo: "生成节点 SSL 信息"
ConnInfoNotMatch: "连接信息不匹配"
MakeAgentPackage: "生成节点安装包"
SendAgent: "下发节点安装包"
StartService: "启动服务"

#cmd
AppVersion: "应用版本"
AppCommands: "应用相关命令"
AppInit: "初始化应用"
AppKeyVal: "应用的 key（仅支持英文）"
AppCreateFileErr: "文件 {{ .name }} 创建失败 {{ .err }}"
AppCreateDirErr: "文件夹 {{ .name }} 创建失败 {{ .err }}"
AppMissKey: "应用的 key 缺失，使用 -k 指定"
AppMissVersion: "应用版本缺失，使用 -v 指定"
AppVersionExist: "版本已存在！"
AppCreateSuccessful: "创建成功！"
AppWriteErr: "文件 {{ .name }} 写入失败 {{ .err }}"
SudoHelper: "请使用 {{ .cmd }} 或者切换到 root 用户"
ListenIPCommands: "切换监听 IP"
ListenIPv4: "监听 IPv4"
ListenIPv6: "监听 IPv6"
ListenChangeSuccessful: "切换成功！已切换至监听 {{ .value }}"
ResetCommands: "重置系统信息"
ResetMFA: "取消 1Panel 两步验证"
ResetHttps: "取消 1Panel https 方式登录"
ResetEntrance: "取消 1Panel 安全入口"
ResetIPs: "取消 1Panel 授权 IP 限制"
ResetDomain: "取消 1Panel 访问域名绑定"
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: "回滚成功！正在重启服务，请稍候..."
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 }}，请您手动重载防火墙。"
UserInfo: "获取面板信息"
UserInfoAddr: "面板地址："
UserInfoPassHelp: "提示：修改密码可执行命令："
DBConnErr: "错误：初始化数据库连接失败，{{ .err }}"
SystemVersion: "版本："
SystemMode: "模式："