{
  "title": "Basculer vers {{target}}",
  "subtitle": "Remplacer {{from}} par {{to}}. Un seul serveur SQL est autorisé sur cet hôte.",
  "confirm": "Confirmer le basculement et migrer",
  "success": "Moteur SQL basculé et données migrées",
  "bannerHint": "Si l'autre moteur est déjà installé, vous devez confirmer un basculement exclusif (désinstaller",
  "flowAria": "Direction du basculement du moteur SQL",
  "from": "Actuel",
  "to": "Cible",
  "calloutTitle": "Difficile à annuler sans sauvegardes",
  "calloutBody": "Les paquets {{from}} ne sont supprimés qu'après une exportation réussie",
  "sectionImpact": "Ce qui va se passer",
  "sectionLimits": "Limitations et risques",
  "dbListTitle": "Bases de données à migrer ({{count}})",
  "dbMigrateBadge": "{{count}} base(s) de données utilisateur",
  "dbEmptyBadge": "Aucune base de données utilisateur",
  "noUserDbs": "Aucune base de données utilisateur détectée (schémas système uniquement). Le moteur du serveur sera tout de même remplacé.",
  "tableCount": "{{count}} table(s)",
  "ackLabel": "Je comprends que les moteurs sont exclusifs. Désinstaller {{from}} et migrer les données vers {{to}}.",
  "phraseLabel": "Saisissez {{phrase}} pour confirmer",
  "phraseMismatch": "La phrase ne correspond pas. Saisissez SWITCH exactement.",
  "warn": {
    "replace_engine": "Désinstaller {{from}} et installer {{to}}.",
    "exclusive": "MySQL et MariaDB ne peuvent pas s'exécuter ensemble en tant que serveurs sur un même hôte (exclusifs).",
    "uninstall_packages": "Les paquets du serveur SQL actuels seront supprimés du système.",
    "logical_dump": "Les bases de données utilisateur sont exportées logiquement puis importées. Les schémas système ne sont pas copiés en tant que fichiers.",
    "dialect_risk": "Le SQL spécifique à MariaDB ou MySQL peut échouer à l'importation.",
    "no_replication": "Les paramètres de réplication, les plugins et les journaux binaires ne sont pas migrés.",
    "root_auth": "L'authentification root par socket ou mot de passe peut nécessiter une reconfiguration après le basculement.",
    "no_user_dbs": "Aucune base de données utilisateur détectée — seuls les paquets du moteur changeront.",
    "has_user_dbs": "{{count}} base(s) de données utilisateur seront exportées et importées."
  },
  "note": {
    "needsSwitch": "Cet hôte exécute déjà {{other}}. MySQL et MariaDB sont exclusifs — confirmez le basculement (export → désinstallation de l'autre → installation → import).",
    "invalidTarget": "Cible invalide (mysql ou mariadb uniquement).",
    "badConfirmPhrase": "La phrase de confirmation doit être exactement SWITCH.",
    "needAck": "Vous devez confirmer le basculement exclusif (MySQL ou MariaDB, pas les deux).",
    "switchNotNeeded": "Basculement non nécessaire — utilisez l'installation normale.",
    "migrateDataRequired": "La migration des données doit être activée lorsque des bases de données utilisateur existent.",
    "dumpFailed": "Échec de l'exportation — la source {{source}} reste en cours d'exécution. {{detail}}",
    "datadirBackupFailed": "Échec de la sauvegarde du répertoire de données — abandonné avant la désinstallation. Essayez de démarrer le service source manuellement.",
    "waitFailed": "Le service cible n'est pas devenu prêt. Sauvegarde : {{dumpPath}}. Ancien répertoire de données : {{datadir}}. Récupération manuelle requise.",
    "incomplete": "Basculement incomplet. Exportation conservée dans {{dumpPath}}. Ancien répertoire de données dans {{datadir}}. Ne purgez pas à nouveau aveuglément.",
    "switched": "Basculé de {{from}} → {{to}}. {{imported}}/{{total}} base(s) de données importée(s).",
    "dumpPath": "Chemin d'exportation logique : {{path}}",
    "datadirBackup": "Sauvegarde de l'ancien répertoire de données : {{path}} (supprimer une fois satisfait : rm -rf {{path}})",
    "grantsExported": "Privilèges exportés ({{detail}})",
    "frozenDetected": "MySQL/MariaDB est FROZEN (pas un échec apt). Chemin {{path}} (mode : {{mode}}). Le paquet peut être installé mais le démon refuse de démarrer après un basculement ou une rétrogradation de moteur. Lever le gel et réinitialiser un répertoire de données vide si c'est sûr. Extrait : {{snippet}}",
    "frozenCleared": "Marqueur de gel {{path}} supprimé.",
    "frozenClearFailed": "Impossible de supprimer le marqueur de gel {{path}} — supprimez-le manuellement en tant que root.",
    "datadirNotEmptySkipInit": "Le répertoire de données contient déjà des tables système — réinitialisation ignorée.",
    "datadirInitialized": "Répertoire de données vide initialisé pour {{flavor}}.",
    "datadirInitFailed": "Échec de l'initialisation du répertoire de données : {{detail}}",
    "unitNotActive": "L'unité {{unit}} est {{active}} (actif attendu).",
    "nginxPortConflict": "L'unité Nginx n'est pas active — Apache peut encore lier le port public :80 ; reliez Apache à 127.0.0.1:8080, puis redémarrez Nginx.",
    "nginxConfigFailed": "Échec de nginx -t : {{detail}}",
    "frozenShort": "FROZEN ({{mode}}) — démon bloqué ; dégel et réparation requis.",
    "unfreezeNeedsConfirm": "Confirmation requise pour dégeler (frozen={{frozen}}, emptyDatadir={{empty}}). POST avec confirm:true.",
    "unfreezeOk": "Le service {{unit}} est actif après réparation de dégel.",
    "unfreezeStartFailed": "Toujours pas actif après dégel : {{detail}}",
    "unfreezePrompt": "Cliquez sur « Dégeler et réparer » pour lever FROZEN et réinitialiser un répertoire de données vide.",
    "configSanitized": "Configuration SQL alignée pour {{flavor}} (my.cnf → {{target}}). Restes de plugins MariaDB désactivés lors du ciblage de MySQL.",
    "configSanitizeFailed": "Échec de l'assainissement de la configuration SQL : {{detail}}"
  },
  "step": {
    "dump": "Exporter {{db}}",
    "exportGrants": "Exporter les privilèges",
    "stop": "Arrêter {{unit}}",
    "backupDatadir": "Sauvegarder le datadir",
    "purge": "Désinstaller {{pkg}}",
    "wait": "Attendre {{unit}}",
    "importDb": "Importer {{db}}",
    "importGrants": "Importer les privilèges",
    "verify": "Vérifier",
    "preflight": "Prévol",
    "confirm": "Confirmer",
    "clearFrozen": "Lever le FROZEN MySQL",
    "initDatadir": "Initialiser un datadir vide",
    "startUnit": "Démarrer {{unit}}",
    "sanitizeConfig": "Nettoyer my.cnf / plugins résiduels"
  }
}
