{
  "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": "切換後可能需要重新設定 管理員 的本機通訊端或密碼認證。",
    "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 與殘留外掛"
  }
}
