{
  "app_title": "MaestroDMX – Propager un bloc de groupe vers des shows",
  "src_frame": "1) Source : fichier show, cue et groupe source",
  "load_source_btn": "Charger la source (JSON du show)…",
  "no_source_loaded": "Aucun fichier source chargé pour l’instant.",
  "load_source_title": "Sélectionner le fichier JSON du show (source)",
  "source_loaded": "Source : {path}\\nChemin des cues : {cuepath}\\nNombre de cues : {n}",
  "source_group": "Groupe source :",
  "preview_frame": "2) Aperçu : bloc de groupe sélectionné (y compris flags)",
  "preview_no_selection": "Veuillez sélectionner une cue.",
  "preview_no_group": "Sélection de groupe invalide.",
  "preview_group_missing": "Remarque : cette cue n’a pas le groupe {g} (Clé : {group_key}).",
  "preview_header": "Cue : {cue}\\nGroupe source : {g}  (Clé : {group_key})",
  "target_frame": "3) Cible : groupe, dossier et fichiers show",
  "target_group": "Groupe cible :",
  "make_backup": "Créer une sauvegarde (.bak.YYYYMMDD-HHMMSS)",
  "choose_folder_btn": "Choisir le dossier cible…",
  "choose_folder_title": "Sélectionner le dossier cible contenant des fichiers JSON",
  "no_folder_selected": "Aucun dossier cible sélectionné pour l’instant.",
  "folder_selected": "Dossier cible : {path}",
  "no_json_found": "Aucun fichier *.json trouvé dans le dossier cible.",
  "select_all": "Tout sélectionner",
  "select_none": "Tout désélectionner",
  "apply_btn": "Traiter tous les shows sélectionnés",
  "log_frame": "Journal",
  "json_files": "Fichiers JSON",
  "all_files": "Tous les fichiers",
  "error": "Erreur",
  "no_cues_found": "Aucune cue trouvée dans le fichier (pas un show JSON ou format inconnu).",
  "failed_load": "Impossible de charger le fichier source.",
  "log_loaded_source": "Source chargée : {path} ({n} cues).",
  "log_no_json": "Aucun fichier JSON trouvé dans : {path}",
  "log_found_files": "Dossier cible chargé : {path} ({n} fichiers).",
  "no_cue_selected": "Aucune cue sélectionnée.",
  "no_folder": "Aucun dossier cible sélectionné.",
  "no_targets_selected": "Aucun fichier cible sélectionné.",
  "source_group_missing": "Le bloc du groupe source {g} est absent dans la cue sélectionnée.",
  "confirm_title": "Confirmation",
  "confirm_text": "Continuer ?\\n\\n- Fichiers : {n}\\n- Groupe source : {sg} (Clé : {sk})\\n- Groupe cible :  {tg} (Clé : {tk})\\n\\nAction :\\nLe bloc du groupe cible sera écrasé dans TOUTES les cues de chaque fichier sélectionné.\\n\\nAstuce : la sauvegarde est activée par défaut.",
  "log_skip_no_cues": "Ignoré (aucune cue détectée) : {file}",
  "log_skip_no_mod": "Ignoré (aucune cue modifiée) : {file}",
  "log_backup_failed": "AVERTISSEMENT : sauvegarde échouée pour {file} : {err}",
  "log_modified_file": "Modifié : {file} – {cues} cues écrasées (Chemin : {cuepath}).",
  "log_error_file": "ERREUR dans {file} : {err}",
  "done_title": "Terminé",
  "done_text": "Résultat :\\n- Fichiers modifiés : {ok}\\n- Fichiers ignorés/erreurs : {skip}\\n- Total cues modifiées : {cues}",
  "language": "Langue :",
  "footer_author_duration": "(c) Christian Haubitz-Reinke & ChatGPT 5.2 - 29.12.2025 (v0.92)",
  "help_link_label": "https://liberty-dj-tools.de",
  "help_link_url": "https://liberty-dj-tools.de"
}
