{
  "app_title": "MaestroDMX – Propagate group block to shows",
  "src_frame": "1) Source: show file, cue and source group",
  "load_source_btn": "Load source (show JSON)…",
  "no_source_loaded": "No source file loaded yet.",
  "load_source_title": "Select source show JSON file",
  "source_loaded": "Source: {path}\\nCue path: {cuepath}\\nNumber of cues: {n}",
  "source_group": "Source group:",
  "preview_frame": "2) Preview: selected group block (incl. flags)",
  "preview_no_selection": "Please select a cue.",
  "preview_no_group": "Invalid group selection.",
  "preview_group_missing": "Note: This cue is missing group {g} (Key: {group_key}).",
  "preview_header": "Cue: {cue}\\nSource group: {g}  (Key: {group_key})",
  "target_frame": "3) Target: group, folder and show files",
  "target_group": "Target group:",
  "make_backup": "Create backup (.bak.YYYYMMDD-HHMMSS)",
  "choose_folder_btn": "Choose target folder…",
  "choose_folder_title": "Select target folder with show JSON files",
  "no_folder_selected": "No target folder selected yet.",
  "folder_selected": "Target folder: {path}",
  "no_json_found": "No *.json files found in the target folder.",
  "select_all": "Select all",
  "select_none": "Select none",
  "apply_btn": "Process all selected shows",
  "log_frame": "Log",
  "json_files": "JSON files",
  "all_files": "All files",
  "error": "Error",
  "no_cues_found": "No cues found in the file (not a show JSON or unknown format).",
  "failed_load": "Could not load source file.",
  "log_loaded_source": "Loaded source: {path} ({n} cues).",
  "log_no_json": "No JSON files found in: {path}",
  "log_found_files": "Loaded target folder: {path} ({n} files).",
  "no_cue_selected": "No cue selected.",
  "no_folder": "No target folder selected.",
  "no_targets_selected": "No target files selected.",
  "source_group_missing": "The source group block for group {g} is missing in the selected cue.",
  "confirm_title": "Confirmation",
  "confirm_text": "Proceed?\\n\\n- Files: {n}\\n- Source group: {sg} (Key: {sk})\\n- Target group:  {tg} (Key: {tk})\\n\\nAction:\\nThe entire target group block will be overwritten in ALL cues of every selected file.\\n\\nTip: Backup is enabled by default.",
  "log_skip_no_cues": "Skipped (no cues detected): {file}",
  "log_skip_no_mod": "Skipped (no cues modified): {file}",
  "log_backup_failed": "WARNING: Backup failed for {file}: {err}",
  "log_modified_file": "Modified: {file} – {cues} cues overwritten (Cue path: {cuepath}).",
  "log_error_file": "ERROR in {file}: {err}",
  "done_title": "Done",
  "done_text": "Result:\\n- Files modified: {ok}\\n- Files skipped/errors: {skip}\\n- Total cues modified: {cues}",
  "language": "Language:",
  "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"
}
