{
  "title": "切换至 {{target}}",
  "subtitle": "将以 {{to}} 取代 {{from}}。同一主机只能运行一个 SQL 服务器。",
  "confirm": "确认切换并迁移数据",
  "success": "已完成 SQL 引擎切换及数据迁移",
  "bannerHint": "若主机已安装另一种引擎，必须先确认「互斥切换」（卸载对方并迁移数据库），不可同时安装两种服务器。",
  "flowAria": "SQL 引擎切换方向",
  "from": "当前",
  "to": "目标",
  "calloutTitle": "若无备份则难以回退",
  "calloutBody": "成功导出后才会卸载 {{from}} 软件包。若后续步骤失败，逻辑备份仍保留在面板数据目录。",
  "sectionImpact": "将会执行的操作",
  "sectionLimits": "限制与风险",
  "dbListTitle": "将迁移的数据库（{{count}}）",
  "dbMigrateBadge": "{{count}} 个用户数据库",
  "dbEmptyBadge": "无用户数据库",
  "noUserDbs": "未检测到用户数据库（仅有系统库）。仍会更换服务器引擎。",
  "tableCount": "{{count}} 个数据表",
  "ackLabel": "本人明白二者互斥，同意卸载 {{from}}，并将数据迁移至 {{to}}。",
  "phraseLabel": "请输入 {{phrase}} 以确认",
  "phraseMismatch": "确认字元不符，请完整输入 SWITCH。",
  "warn": {
    "replace_engine": "卸载 {{from}}，并安装 {{to}}。",
    "exclusive": "MySQL 与 MariaDB 不可在同一主机同时作为服务器运行（互斥）。",
    "uninstall_packages": "将从系统移除当前的 SQL 服务器软件包。",
    "logical_dump": "用户数据库会以逻辑方式导出再导入；系统库不会以文件方式复制。",
    "dialect_risk": "MariaDB 或 MySQL 专有语法在导入时可能失败。",
    "no_replication": "复制设置、插件及二进制日志不会迁移。",
    "root_auth": "切换后可能需要重新设置 root 的本机套接字或密码认证。",
    "no_user_dbs": "未检测到用户数据库 — 只会更换引擎软件包。",
    "has_user_dbs": "将导出并导入 {{count}} 个用户数据库。"
  },
  "note": {
    "needsSwitch": "此主机已运行 {{other}}。MySQL 与 MariaDB 互斥 — 请确认切换（导出 → 卸载对方 → 安装 → 导入）。",
    "invalidTarget": "目标无效（只可为 mysql 或 mariadb）。",
    "badConfirmPhrase": "确认字元必须为 SWITCH。",
    "needAck": "必须勾选同意互斥切换（MySQL 与 MariaDB 二者择一）。",
    "switchNotNeeded": "无须切换 — 请使用一般安装。",
    "migrateDataRequired": "存在用户数据库时必须启用数据迁移。",
    "dumpFailed": "导出失败 — 来源引擎 {{source}} 仍在运行。{{detail}}",
    "datadirBackupFailed": "数据目录备份失败 — 已在卸载前中止。请尝试手动启动来源服务。",
    "waitFailed": "目标服务未就绪。备份路径：{{dumpPath}}。旧数据目录：{{datadir}}。需要人工处理。",
    "incomplete": "切换未完成。导出文件保留于 {{dumpPath}}，旧数据目录位于 {{datadir}}。请勿盲目再次清除。",
    "switched": "已由 {{from}} 切换至 {{to}}。已导入 {{imported}}／{{total}} 个数据库。",
    "dumpPath": "逻辑导出路径：{{path}}",
    "datadirBackup": "旧数据目录备份：{{path}}（确认无误后可删除：rm -rf {{path}}）",
    "grantsExported": "已导出权限（{{detail}}）",
    "frozenDetected": "MySQL／MariaDB 处于 FROZEN 状态（不是软件包安装失败）。路径：{{path}}（模式：{{mode}}）。软件包可能已安装，但引擎切换或降级后守护进程拒绝启动。请解除冻结；若数据目录为空可安全重新初始化。摘要：{{snippet}}",
    "frozenCleared": "已移除冻结标记 {{path}}。",
    "frozenClearFailed": "无法移除冻结标记 {{path}} — 请以管理员手动删除。",
    "datadirNotEmptySkipInit": "数据目录已有系统表 — 跳过重新初始化。",
    "datadirInitialized": "已为 {{flavor}} 初始化空白数据目录。",
    "datadirInitFailed": "初始化数据目录失败：{{detail}}",
    "unitNotActive": "服务单元 {{unit}} 状态为 {{active}}（预期为运行中）。",
    "nginxPortConflict": "Nginx 未运行 — Apache 可能仍占用公开 80 端口；请将 Apache 改绑 127.0.0.1:8080 后再重新启动 Nginx。",
    "nginxConfigFailed": "Nginx 配置检查失败：{{detail}}",
    "frozenShort": "FROZEN（{{mode}}）— 守护进程被封锁；需要解除冻结并修复。",
    "unfreezeNeedsConfirm": "解除冻结需要确认（冻结={{frozen}}，数据目录为空={{empty}}）。请以 confirm:true 提交。",
    "unfreezeOk": "解除冻结后服务 {{unit}} 已运行。",
    "unfreezeStartFailed": "解除冻结后仍未运行：{{detail}}",
    "unfreezePrompt": "请按「解除冻结并修复」以清除 FROZEN，并在数据目录为空时重新初始化。",
    "configSanitized": "已将 SQL 配置对齐为 {{flavor}}（my.cnf → {{target}}）。若目标为 MySQL，已停用 MariaDB 插件残留配置。",
    "configSanitizeFailed": "清理 SQL 配置失败：{{detail}}"
  },
  "step": {
    "dump": "导出 {{db}}",
    "exportGrants": "导出权限",
    "stop": "停止 {{unit}}",
    "backupDatadir": "备份数据目录",
    "purge": "卸载 {{pkg}}",
    "wait": "等待 {{unit}}",
    "importDb": "导入 {{db}}",
    "importGrants": "导入权限",
    "verify": "校验",
    "preflight": "预检",
    "confirm": "确认",
    "clearFrozen": "解除 MySQL 冻结",
    "initDatadir": "初始化空白数据目录",
    "startUnit": "启动 {{unit}}",
    "sanitizeConfig": "清理 my.cnf 与残留插件"
  }
}
