{
  "serviceSettings": "服务设置",
  "installedOk": "{{engine}} 已安装",
  "startedOk": "{{engine}} 已启动",
  "installFirst": "请先安装 {{engine}}",
  "softwareMissing": "{{engine}} 所需软件尚未安装",
  "serviceOverview": "服务概览",
  "readonlyStatus": "只读状态",
  "readonlyProbe": "只读探测",
  "systemChange": "系统变更",
  "opened": "已开启",
  "notOpened": "未开启",
  "admin": "管理员",
  "client": "客户端",
  "hasClient": "有",
  "noClient": "无",
  "canProvision": "可开庫",
  "dumpOk": "导出完成",
  "dumpFailed": "导出失败",
  "noDumpToImport": "尚无可导入的备份文件",
  "expiredTempUsersProcessed": "已处理过期临时用户",
  "dumpFirstDb": "导出首个数据库",
  "importLatestDump": "导入最新备份",
  "cleanupExpiredTempUsers": "清理过期临时用户",
  "adminerEntry": "数据库管理项目",
  "browserProjectTitle": "创建数据库管理项目",
  "browserTool": "工具",
  "browserNameHint": "会创建一个 PHP 项目；名称不可重复",
  "browserNameTaken": "项目名称已存在：{{name}}",
  "browserProjectCreated": "数据库管理项目已创建",
  "createBrowserProject": "创建项目并部署",
  "downloadPhpMyAdmin": "下载 phpMyAdmin（需要系统变更权限及外网）",
  "createDatabase": "创建数据库",
  "installBannerHint": "请使用上方横幅「一键安装」安装 {{engine}}。",
  "exclusiveMariaHint": "此主机为 MariaDB。请到 MariaDB 页管理，或一键切换（须输入 SWITCH）。",
  "exclusiveMysqlHint": "此主机为 MySQL。请到 MySQL 页管理，或一键切换（须输入 SWITCH）。",
  "openMaria": "MariaDB",
  "openMysql": "MySQL",
  "openMariaService": "MariaDB 服务",
  "openMysqlService": "MySQL 服务",
  "startService": "启动服务",
  "openServiceConsole": "开启服务控制台",
  "opsResult": "操作结果",
  "tempPasswordOnce": "临时只读密码（只显示一次）：",
  "tabDatabases": "数据库 ({{count}})",
  "tabUsers": "用户 ({{count}})",
  "tabTemp": "临时只读 ({{count}})",
  "tabRemote": "远程主机 ({{count}})",
  "dbList": "数据库列表",
  "charset": "字符集",
  "noDatabasesYet": "尚未有数据库",
  "emptyDbInstallFirst": "请先使用上方横幅一键安装 {{engine}}，再用右上角「创建数据库」",
  "emptyDbCannotProvision": "目前无法在服务器创建数据库",
  "emptyDbCreateHint": "用右上角「创建数据库」新增；创建后请再按「应用」",
  "emptyDbHostHasRows": "主機已有資料庫，但尚未在控制面登記。",
  "registeredVsHostHint": "已在面板登记 / 主机实测",
  "registeredCount": "已登记",
  "hostCount": "主机",
  "registeredUsers": "已登记用户",
  "registeredUsersHint": "只计面板登记，不是主机全部 MySQL 账号",
  "hostStillExists": "主机仍存在",
  "expiresLabel": "到期",
  "dumpNeedRegistered": "请先在面板登记数据库",
  "dumpFirstDbTitle": "导出第一个已登记数据库",
  "importNeedRegistered": "请先在面板登记数据库",
  "importLatestNeedConfirm": "需确认 — 会导入到已登记数据库",
  "hostHasUntracked": "主機另有 {{count}} 個未在面板登記的資料庫",
  "hostInventoryHint": "列表只顯示控制面已登記的資料庫；即時名稱來自 SHOW DATABASES。",
  "userList": "用户列表",
  "userListDesc": "可为数据库授权用户",
  "createUserBtn": "+ 创建用户",
  "noUsersYet": "尚未有用户",
  "tempReadonlyUsers": "临时只读用户",
  "tempReadonlyDesc": "到期后控制面标记 expired；系统 DROP 需另开权限操作（标示）",
  "dbName": "数据库名称",
  "ttlHours": "有效时数",
  "ttlHoursHint": "到期后标记失效",
  "createReadonlyUser": "创建只读用户",
  "tempUserCreated": "已创建临时只读用户",
  "expiresAt": "到期",
  "revokeRegistration": "撤销登记",
  "remoteDbHosts": "远程数据库主机",
  "remoteDbHostsDesc": "登记连接目标（密码不回显）。未按「测试连接」前，已保存 ≠ 可达。",
  "remoteTest": "测试连接",
  "remoteTestDone": "远程主机探测完成",
  "remoteTestOk": "可达",
  "remoteTestFail": "不可达",
  "remoteNotChecked": "未测试",
  "remoteDeleteTitle": "仅移除登记",
  "remoteDeleteConfirm": "移除登记 {{name}}？远程服务器不会被改动。",
  "displayName": "显示名称",
  "prodReplicaPlaceholder": "生产从库",
  "remoteHostSaved": "已保存远程主机",
  "createDbTitle": "创建 {{engine}} 数据库",
  "createDbDesc": "创建控制面登记后，请按「应用」写入服务器",
  "dbNameHint": "小写英数与下划线；创建后需再应用到系统",
  "alsoCreateUser": "同时创建用户",
  "alsoCreateUserDesc": "一并创建可连接此庫的账号",
  "passwordMin8": "至少 8 位",
  "passwordMin8chars": "至少 8 字符",
  "allowConnectHost": "允许连接主机",
  "allowConnectHostHint": "常用 %（任意）或 localhost",
  "allowConnectHostHintShort": "常用 % 或 localhost",
  "createDbHint": "仅写入控制面登记；列表按「应用」才会在服务器 CREATE DATABASE。",
  "createUserTitle": "创建 {{engine}} 用户",
  "createUserDesc": "创建后请应用",
  "bindDatabase": "绑定数据库",
  "bindDatabaseHint": "可选；授权此庫权限",
  "noneOption": "— 无 —",
  "importDumpTitle": "确认导入数据库备份？",
  "importDumpDesc": "将把备份「{{dump}}」导入数据库「{{db}}」。",
  "import": "导入",
  "importOk": "导入完成",
  "importFailed": "导入失败",
  "deleteDbTitle": "删除数据库登记？",
  "deleteDbDesc": "仅移除控制面记录；不会自动 DROP 服务器上的庫。",
  "deleteUserTitle": "删除用户登记？",
  "deleteUserDesc": "仅移除控制面记录。",
  "adminerTitle": "Adminer 数据库浏览器",
  "adminerDesc": "下载輕量 Adminer + 写入 Nginx 管理 conf；应用到系统才会 nginx -t + reload",
  "adminerWritten": "Adminer 已写入管理档",
  "adminerApplied": "Adminer 应用完成",
  "writeOnly": "只写入（written）",
  "applyToSystem": "应用到系统",
  "adminerRisk": "公开 Adminer 有风险 — 请先限制来源 IP 或加 HTTP 认证。需 PHP-FPM socket（默认 php8.2）。",
  "vhostName": "虚拟主机名",
  "vhostHint": "DNS A 指到此主机后才能从外网开",
  "downloadAdminer": "下载 Adminer PHP（需 YSK_EXECUTE + 外网）",
  "downloadAdminerDesc": "关闭則仅用已下载文件",
  "adminerWriteHint": "「只写入」= 管理档 written；「应用到系统」= 复制 conf + nginx -t + reload（需 root，否則 blocked）",
  "pgInstallBanner": "请先使用上方横幅一键安装 PostgreSQL",
  "pgEmptyCreateHint": "创建后按「应用到系统」写入服务器",
  "pgNoDbs": "尚未有 PostgreSQL 庫",
  "pgCreateTitle": "创建 PostgreSQL 数据库",
  "pgCreateDesc": "写入控制面登记；需再「应用到系统」才 CREATE DATABASE（应用后才上线）",
  "pgAlsoCreateRole": "同时创建角色",
  "pgAlsoCreateRoleDesc": "一并创建登录角色并授予此数据库权限",
  "roleName": "角色名称",
  "roleHint": "PostgreSQL role／登录用户",
  "pgDeleteDbDesc": "移除控制面记录（不会自动 DROP 服务器上的庫，除非另有应用撤销）。",
  "update": "更新",
  "alsoCreateRole": "同时创建角色",
  "cluster": {
    "standaloneOtherEngines": "此引擎目前是单机。其他引擎已有丛集：{{names}}。",
    "roleUnassigned": "未指派角色",
    "title": "集群",
    "description": "计划 → 写管理档 → 应用 → 探测 → peer 分发 / fleet。默认 dry-run。",
    "redirectedFromCluster": "你由 /cluster 转到此处。这是数据库丛集分页。",
    "notApplied": "尚未套用",
    "plannedAt": "建立于 {{when}}",
    "clearStalePlans": "清过期计划",
    "clearStalePlansTitle": "删除过期计划？",
    "clearStalePlansDesc": "将删除 {{n}} 个超过 7 日的计划／草稿登记。不会套用或推送，亦不改系统设定。",
    "landingTitle": "数据库丛集",
    "landingDesc": "No database engine is installed on this host. Open an engine page to install, then return here.",
    "landingNoneInstalled": "MySQL, MariaDB, PostgreSQL, and Redis are not installed. /cluster does not open a MySQL tab when MySQL is missing.",
    "openEngine": "开启 {{engine}}",
    "overviewPill": "丛集 {{n}}",
    "enginesInstalled": "引擎",
    "plannedCount": "已计划",
    "overviewList": "丛集（{{count}}）",
    "overviewEmpty": "尚未有丛集登记。",
    "engine": "引擎",
    "kind": "类型",
    "members": "成员",
    "kindGalera": "简易 Galera",
    "kindMysqlReplica": "MySQL 主从复制",
    "kindPgReplica": "PostgreSQL 流式复制",
    "kindRedisReplica": "Redis 主从",
    "createGalera": "创建简易 Galera",
    "createMysqlReplica": "创建主从复制",
    "createPgReplica": "创建流式复制",
    "createSentinel": "创建 Sentinel",
    "createRedisReplica": "创建 Redis 主从",
    "needRealIps": "请填写本机与 peer 真实 IP／主机名",
    "hostInvalid": "请填写有效的 IPv4、IPv6 或主机名。",
    "statusNote": "状态：{{status}}（计划成功 ≠ 集群健康）",
    "artifactNote": "产物：{{dir}}",
    "planGenerated": "已生成计划（dry-run）",
    "planUpdated": "已更新计划",
    "manageWritten": "已写管理档（dry-run）",
    "bootstrapTried": "已嘗試 bootstrap",
    "applyTried": "已嘗試应用系统 conf",
    "localOk": "本机 OK",
    "localProbeFail": "本机 probe 未过",
    "probedWithPeers": "已探测（含 peer）",
    "probedLocal": "已探测本机",
    "peerTarNote": "已下载 peer 打包（.tar.gz）— 解壓后在 peer 上安装 conf",
    "downloaded": "已下载",
    "peerPushed": "已推送 peer",
    "pushPlanGenerated": "已生成 push 计划",
    "registrationDeleted": "已删除登记",
    "nodes": "节点",
    "remoteInstallPlan": "远程安装计划",
    "fleetSession": "机群 agent session id",
    "fleetSessionHint": "可选。到 /agents 复制 session UUID。填写后该对等节点走机群（不用 SSH）。留空则 scp。",
    "fleetSessionPh": "Agents 页的 session UUID",
    "fleetSessionNone": "无 — 使用 SSH",
    "fleetSessionOpenAgents": "打开 /agents 注册会话",
    "createWizardTitle": "打开计划向导。需要本地 IP 和 ≥1 个对等点。仅写入面板工件（试运行）。在您申请之前不要重新启动发动机。",
    "bootstrap": "引导程序",
    "fleetApply": "车队申请",
    "planTitle": "重新生成集群计划（不更改主机）",
    "writeFileTitle": "在面板数据目录下写入管理文件（试运行）",
    "probeLocalTitle": "仅探测该主机",
    "probeAllTitle": "探查每一位注册会员",
    "bootstrapTitle": "安装本地插件并引导第一个节点",
    "remoteInstallPlanTitle": "预览远程安装（不执行）",
    "downloadBundleTitle": "下载对等配置包 (.tar.gz)",
    "pushPlanTitle": "预览推送到对等点（无 scp）",
    "fleetSyncPlanTitle": "预览队列同步（不执行）",
    "fleetApplyTitle": "队列适用于车队成员吗？",
    "status": {
      "healthy": "健康",
      "planned": "计划",
      "partial": "部分的",
      "failed": "失败的",
      "draft": "草稿",
      "degraded": "降级",
      "applied": "应用"
    },
    "fleetSyncPlan": "Fleet sync 计划",
    "standaloneTitle": "目前：单机",
    "standaloneRepl": "未登记主从／流式。指定 primary/master + replica 后生成 conf 与脚本。",
    "standaloneHa": "未登记 HA。加 peer 节点后生成 conf 计划，再分步 bootstrap / join。",
    "recentProbe": "最近 probe（本机 wsrep）",
    "probeRequired": "healthy 必须 probe 通过",
    "planPreview": "计划预览",
    "planPreviewDesc": "dry-run · 成功只代表步骤/conf 已生成",
    "files": "文件",
    "systemChangeNeed": "应用时需要",
    "planModalDesc": "选擇节点 → 生成计划（不会自动改 peer 系统）",
    "generatePlan": "生成计划",
    "clusterName": "集群名称",
    "localIp": "本机 IP／主机",
    "primaryIpHint": "控制面所在机（primary/master + access=local）",
    "localIpHint": "控制面所在机（access=local）",
    "ipExample1": "例如 10.0.0.1",
    "ipExample2": "例如 10.0.0.2",
    "ipExample3": "例如 10.0.0.3",
    "replicaIp": "Replica IP／主机",
    "peerIp": "Peer IP／主机",
    "replicaHint": "从库节点",
    "peerHint": "第二节点（Galera 建议 3 节点）",
    "thirdNode": "第 3 节点（可选）",
    "thirdNodeHint": "Galera / 多 replica 建议填",
    "sstMethod": "SST 方式",
    "forbidDemoIp": "禁止示例 IP（203.0.113.x）。",
    "fwGalera": "防火墙内网开 3306 / 4567 / 4444 / 4568。",
    "fwPg": "流式需内网 5432；脚本密码改 CHANGE_ME。",
    "fwRedis": "Redis 内网 6379（sentinel 26379）。",
    "fwRepl": "主从需内网对应埠；脚本密码改 CHANGE_ME。",
    "needExecuteRoot": "应用系统 conf 需 YSK_EXECUTE=1 + root。",
    "topology": "拓撲：{{kind}}",
    "applyLocalTitle": "应用本机系统 conf？",
    "applyBootstrapDesc": "会安装 Galera drop-in 并 bootstrap（galera_new_cluster）。仅第一个节点用一次。",
    "applyJoinDesc": "会安装 Galera drop-in 并 systemctl restart mariadb",
    "confirmApply": "确认应用",
    "deleteClusterTitle": "删除集群登记「{{name}}」（{{engine}}）？",
    "remoteInstallTitle": "远程安装 peer？",
    "pushTitle": "Push 到 peer？",
    "fleetSyncTitle": "Fleet 同步？",
    "confirmOp": "确认操作",
    "deleteClusterDesc": "将删除 {{engine}} 集群「{{name}}」的登记。系统 conf 不会自动清（v1）。",
    "remoteInstallDesc": "在 peer 上 install conf + restart。需 YSK_EXECUTE + SSH。",
    "pushDesc": "scp 文件到 peer /tmp？需 YSK_EXECUTE=1 与 SSH key。成功 ≠ peer 已 restart。",
    "fleetSyncDesc": "同步 cluster 快照到 fleet 边緣，再可 apply。",
    "fleetApplyDesc": "enqueue apply 到 fleet 成员。",
    "remoteInstalled": "远程已安装",
    "fleetSynced": "Fleet 已同步排队",
    "fleetApplyQueued": "Fleet apply 已排队",
    "engineNotInstalled": "此主机上未安装 {{engine}} - 请先安装它，或打开实际运行的引擎。",
    "plan": "计划",
    "writeFile": "写文件",
    "applyLocal": "应用本机",
    "probeAll": "全节点探测",
    "remoteInstall": "远程安装",
    "downloadBundle": "下载包",
    "pushPlan": "Push 计划",
    "pushExecute": "Push 执行",
    "fleetSync": "Fleet 同步",
    "localConfPreview": "本机 conf 预览",
    "refresh": "刷新",
    "close": "关闭",
    "cancel": "取消",
    "delete": "删除",
    "probe": "探测",
    "name": "名称",
    "type": "类型"
  },
  "console": {
    "dataBrowse": "资料浏览",
    "dbManage": "数据库管理",
    "realtime": "实时",
    "reload": "重载",
    "needRestart": "需重启",
    "affectsProjects": "使用此引擎的站点与服务会中断。",
    "lifecycle": "生命周期",
    "overview": "概览",
    "actionDone": "已{{action}}",
    "installDone": "安装完成",
    "noChanges": "沒有变更可应用",
    "settingsApplied": "设置已应用",
    "notReadFromService": "未从服务读取",
    "applyMode": "应用方式：{{mode}}",
    "dirtyNotApplied": "已修改，尚未应用",
    "highRisk": "高风险设置",
    "engine": "引擎",
    "bootEnabled": "开机自启",
    "uptimeSec": "运行秒数",
    "currentConnections": "目前连接",
    "changes": "变更",
    "serviceTitle": "{{title}} 服务",
    "softwareMissing": "{{title}} 所需软件尚未安装",
    "overviewDesc": "只读资讯，由探测取得（非输入欄）",
    "lifecycleDesc": "安装、启动、停止与开机自启",
    "about": "说明",
    "cluster": "集群",
    "noSettings": "此分类暂无可用设置（或目前版本不支持）",
    "applyHint": "「实时」可在线修改；「需重启」应用后请到生命周期重启服务。藍色底为尚未应用的变更。",
    "applyCategory": "应用本分类",
    "applyAll": "应用全部变更",
    "applyCatCount": "应用本分类（{{n}}）",
    "applyAllCount": "应用全部变更（{{n}}）",
    "lifecycleNote": "设置分页中，「实时」可在线修改；「需重启」应用后请到生命周期重启服务。",
    "installEngine": "请使用上方橫幅「一鍵安装」安装 {{title}}。",
    "reloadConfig": "重载设置",
    "disableBoot": "取消自启",
    "disableBootConfirm": "重新启动后引擎将不会启动，直到您再次启用它。",
    "needRights": "需要系统变更权限与管理员身分。失败会显示原因，不会假装成功。",
    "noneFetched": "— 未取得 —"
  },
  "importEntry": "入口: {{url}}",
  "adminerRiskFull": "公开 Adminer 有风险 — 请先限制来源 IP 或加 HTTP 认证。需 PHP-FPM socket（预设 php8.2）。",
  "adminerWriteHintFull": "「只写入」= 管理档 written；「应用到系统」= 复制 conf + nginx -t + reload（需 root，否則 blocked）",
  "pgInstalled": "PostgreSQL 已安装",
  "pgStarted": "PostgreSQL 已启动",
  "notInstalledShort": "未装",
  "serviceConsole": "服务控制台",
  "installPgFirst": "请先安装 PostgreSQL",
  "pgSoftwareMissing": "PostgreSQL 所需软件尚未安装",
  "installPgBanner": "请使用上方橫幅「一鍵安装」安装 PostgreSQL。",
  "createPlus": "+ 创建",
  "dbNameHintPg": "小写英数与底线；创建后请再应用到系统",
  "deleteNotePg": "删除登记不会自动 DROP 服务器上的庫；应用成功才代表主机已执行 DDL。",
  "tabDatabasesSimple": "数据库 ({{count}})",
  "frozenTitle": "数据库服务需要修复",
  "frozenBody": "已检测到问题（模式／冻结：{{mode}}；数据目录为空：{{empty}}）。系统会按健康检查结果生成修复计划，而不是只针对单一错误硬编码。",
  "unfreezeBtn": "检查并修复服务",
  "unfreezeConfirmTitle": "确认修复 {{engine}}？",
  "unfreezeConfirmDesc": "将按诊断结果执行通用修复计划（停止服务、清除冻结、清理错误引擎配置、空白目录初始化、再启动）。数据目录是否为空：{{empty}}。若有重要数据请先备份。",
  "unfreezeConfirmBtn": "确认修复",
  "unfreezeOk": "{{engine}} 修复完成",
  "startAfterUnfreeze": "启动服务（失败时会自动套用修复计划）",
  "serviceDownTitle": "数据库服务未运行",
  "serviceDownBody": "服务异常。面板会诊断常见原因（冻结、配置残留、空白数据目录、端口冲突等）。数据目录为空：{{empty}}。请按「检查并修复服务」确认执行。",
  "adoptHostDb": "登记 {{name}}",
  "adoptHostDbTitle": "只在控制面登记名称，不改主机数据",
  "cleanupExpiredTempUsersTitle": "清除已过期的面板临时用户",
  "invalidSqlIdent": "请用小写识别名称：以英文字母开头，其后可为字母、数字或底线。",
  "remoteHostRequired": "请填写远端主机。",
  "remoteTestUnsaved": "请先储存此主机，再按“测试连线”。或填好主机后储存。",
  "serverNotInstalled": "服务器未安装",
  "dumpNeedEngine": "请先安装数据库引擎，才可汇出数据库。",
  "unboundDatabase": "数据库登记已移除",
  "userGoneRefresh": "该用户已不存在，已重新整理列表。"
}
