{
  "config": {
    "step": {
      "user": {
        "title": "WashData-Setup",
        "description": "Konfigurieren Sie Ihre Waschmaschine oder ein anderes Gerät.\n\nLeistungssensor ist erforderlich.\n\n**Als nächstes werden Sie gefragt, ob Sie Ihr erstes Profil erstellen möchten.**",
        "data": {
          "name": "Gerätename",
          "device_type": "Gerätetyp",
          "power_sensor": "Leistungssensor",
          "min_power": "Mindestleistungsschwelle (W)"
        },
        "data_description": {
          "name": "Ein benutzerfreundlicher Name für dieses Gerät (z. B. „Waschmaschine“, „Geschirrspüler“).",
          "device_type": "Um welche Art von Gerät handelt es sich? Dies hilft bei der individuellen Erkennung und Zuordnung.",
          "power_sensor": "Die Sensoreinheit, die den Stromverbrauch (in Watt) Ihres Smart Plugs in Echtzeit meldet.",
          "min_power": "Leistungswerte über diesem Schwellwert (in Watt) zeigen an, dass das Gerät läuft. Für die meisten Geräte ist 2W ein guter Anfang."
        }
      },
      "reconfigure": {
        "title": "Reconfigure WashData",
        "description": "Update the device name, appliance type, or power sensor.",
        "data": {
          "name": "Device Name",
          "device_type": "Device Type",
          "power_sensor": "Power Sensor",
          "min_power": "Minimum Power Threshold (W)"
        }
      }
    },
    "error": {
      "cannot_connect": "Verbindung konnte nicht hergestellt werden",
      "invalid_auth": "Ungültige Authentifizierung",
      "unknown": "Unerwarteter Fehler",
      "invalid_power": "Power threshold must be greater than 0"
    },
    "abort": {
      "already_configured": "Gerät ist bereits konfiguriert",
      "reconfigure_successful": "Reconfiguration was successful"
    }
  },
  "options": {
    "step": {
      "init": {
        "title": "WashData Settings",
        "description": "All settings -- detection, matching, timing, notifications, profiles, and cycles -- are available in the WashData panel. Use this form only to change the power sensor, device type, or standby threshold.",
        "data": {
          "name": "Name des Geräts",
          "device_type": "Device Type",
          "power_sensor": "Power Sensor",
          "min_power": "Minimum Power Threshold (W)"
        }
      }
    },
    "error": {
      "timer_default_message": "{device}: {minutes}-Min.-Timer",
      "timer_pause_action_title": "Zyklus fortsetzen",
      "timer_pause_body_suffix": "Der Zyklus ist angehalten. Öffnen Sie das WashData-Panel, um fortzufahren.",
      "notify_live_waiting_message": "{device}: Noch kein Profil erkannt.",
      "vs_typical_longer": "{pct}% länger als üblich",
      "vs_typical_shorter": "{pct}% kürzer als üblich",
      "invalid_power": "Power threshold must be greater than 0"
    }
  },
  "selector": {
    "device_type": {
      "options": {
        "washing_machine": "Waschmaschine",
        "dryer": "Trockner",
        "washer_dryer": "Waschmaschine-Trockner-Kombination",
        "dishwasher": "Spülmaschine",
        "air_fryer": "Luftfritteuse",
        "bread_maker": "Brotbackautomat",
        "pump": "Pumpe / Sumpfpumpe",
        "generic": "Andere (Fortgeschrittene)",
        "other": "Schwellengerät"
      }
    }
  },
  "services": {
    "label_cycle": {
      "name": "Zyklus zuordnen",
      "description": "Einen Zyklus einem Profil zuordnen oder die Zuordnung aufheben.",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät für die Zuordnung."
        },
        "cycle_id": {
          "name": "Zyklus-ID",
          "description": "Die ID des zuzuordnenden Zyklus."
        },
        "profile_name": {
          "name": "Profilname",
          "description": "Der Name eines vorhandenen Profils (Profile erstellen im Menü „Profile verwalten“). Feld leer lassen, um die Zuordnung zu entfernen."
        }
      }
    },
    "create_profile": {
      "name": "Profil erstellen",
      "description": "Ein neues Profil erstellen (leer oder basierend auf einem Referenzzyklus).",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät."
        },
        "profile_name": {
          "name": "Profilname",
          "description": "Name für das neue Profil (z. B. „Heavy Duty“, „Delicates“)."
        },
        "reference_cycle_id": {
          "name": "Referenzzyklus-ID",
          "description": "Optionale Zyklus-ID, auf der dieses Profil basieren soll."
        }
      }
    },
    "delete_profile": {
      "name": "Profil löschen",
      "description": "Profil löschen und optional alle Zuordnungen von Zyklen aufheben, die es verwenden.",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät."
        },
        "profile_name": {
          "name": "Profilname",
          "description": "Das zu löschende Profil."
        },
        "unlabel_cycles": {
          "name": "Zyklen-Zuordnung aufheben",
          "description": "Zuordnung aller Zyklen aufheben, die dieses Profil verwenden."
        }
      }
    },
    "auto_label_cycles": {
      "name": "Alte Zyklen automatisch zuordnen",
      "description": "Nicht zugeordnete Zyklen rückwirkend mithilfe des Profilabgleichs zuordnen.",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät."
        },
        "confidence_threshold": {
          "name": "Vertrauensschwellwert",
          "description": "Mindestübereinstimmungskonfidenz (0,50–0,95) zum Anwenden von Zuordnungen."
        }
      }
    },
    "export_config": {
      "name": "Konfiguration exportieren",
      "description": "Profile, Zyklen und Einstellungen dieses Geräts in eine JSON-Datei exportieren (pro Gerät).",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das zu exportierende WashData-Gerät."
        },
        "path": {
          "name": "Pfad",
          "description": "Optionaler absoluter Dateipfad zum Schreiben (standardmäßig /config/ha_washdata_export_{entry}.json)."
        }
      }
    },
    "import_config": {
      "name": "Konfiguration importieren",
      "description": "Profile, Zyklen und Einstellungen für dieses Gerät aus einer JSON-Exportdatei importieren (Einstellungen werden möglicherweise überschrieben).",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät, in das importiert werden soll."
        },
        "path": {
          "name": "Pfad",
          "description": "Absoluter Pfad zur zu importierenden JSON-Exportdatei."
        }
      }
    },
    "submit_cycle_feedback": {
      "name": "Zyklus-Feedback bestätigen",
      "description": "Ein automatisch erkanntes Programm nach einem abgeschlossenen Zyklus bestätigen oder korrigieren. Geben Sie entweder „entry_id“ (erweitert) oder „device_id“ (empfohlen) an.",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät (empfohlen anstelle von „entry_id“)."
        },
        "entry_id": {
          "name": "Eintrags-ID",
          "description": "Die Konfigurationseintrags-ID für das Gerät (Alternative zu device_id)."
        },
        "cycle_id": {
          "name": "Zyklus-ID",
          "description": "Die in der Feedback-Benachrichtigung/in den Protokollen angezeigte Zyklus-ID."
        },
        "user_confirmed": {
          "name": "Das erkannte Programm bestätigen",
          "description": "Auf „true“ setzen, wenn das erkannte Programm korrekt ist."
        },
        "corrected_profile": {
          "name": "Korrigiertes Profil",
          "description": "Wenn dies nicht bestätigt wird, den korrekten Profil-/Programmnamen angeben."
        },
        "corrected_duration": {
          "name": "Korrigierte Dauer (Sekunden)",
          "description": "Optionale korrigierte Dauer in Sekunden."
        },
        "notes": {
          "name": "Notizen",
          "description": "Optionale Hinweise zu diesem Zyklus."
        }
      }
    },
    "record_start": {
      "name": "Zyklusstart aufzeichnen",
      "description": "Manuelle Aufzeichnung eines sauberen Zyklus starten (umgeht alle Matching-Funktionen).",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät zum Aufnehmen."
        }
      }
    },
    "record_stop": {
      "name": "Aufnahmezyklusstopp",
      "description": "Die manuelle Aufnahme beenden.",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät stoppt die Aufnahme."
        }
      }
    },
    "trim_cycle": {
      "name": "Zyklus zuschneiden",
      "description": "Die Leistungsdaten eines vergangenen Zyklus auf ein bestimmtes Zeitfenster zuschneiden.",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät."
        },
        "cycle_id": {
          "name": "Zyklus-ID",
          "description": "Die ID des zuzuschneidenden Zyklus."
        },
        "trim_start_s": {
          "name": "Anfang zuschneiden (Sekunden)",
          "description": "Daten ab diesem Zeitpunkt (in Sekunden) behalten. Standard 0."
        },
        "trim_end_s": {
          "name": "Ende zuschneiden (Sekunden)",
          "description": "Daten bis zu diesem Zeitpunkt behalten. Standard = Zyklusende."
        }
      }
    },
    "pause_cycle": {
      "name": "Zyklus anhalten",
      "description": "Unterbrechen Sie den aktiven Zyklus für ein WashData-Gerät.",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät, das angehalten werden soll."
        }
      }
    },
    "resume_cycle": {
      "name": "Zyklus fortsetzen",
      "description": "Setzen Sie einen angehaltenen Zyklus für ein WashData-Gerät fort.",
      "fields": {
        "device_id": {
          "name": "Gerät",
          "description": "Das WashData-Gerät, das fortgesetzt werden soll."
        }
      }
    },
    "trigger_ml_training": {
      "name": "Trigger ML Training",
      "description": "Manually retrain the on-device ML models from this device's own labelled cycles (experimental).",
      "fields": {
        "device_id": {
          "name": "Device",
          "description": "The WashData device to retrain models for."
        }
      }
    }
  },
  "entity": {
    "binary_sensor": {
      "running": {
        "name": "Läuft"
      },
      "match_ambiguity": {
        "name": "Übereinstimmungsmehrdeutigkeit"
      }
    },
    "sensor": {
      "washer_state": {
        "name": "Zustand",
        "state": {
          "off": "Aus",
          "idle": "Leerlauf",
          "starting": "Beginnt",
          "running": "Läuft",
          "paused": "Angehalten",
          "user_paused": "Vom Benutzer angehalten",
          "ending": "Ende",
          "finished": "Fertig",
          "anti_wrinkle": "Knitterschutz",
          "interrupted": "Unterbrochen",
          "force_stopped": "Erzwungen beendet",
          "rinse": "Spülen",
          "unknown": "Unbekannt",
          "clean": "Sauber",
          "delay_wait": "Warten auf den Start"
        }
      },
      "washer_program": {
        "name": "Programm"
      },
      "time_remaining": {
        "name": "Verbleibende Zeit"
      },
      "total_duration": {
        "name": "Gesamtdauer"
      },
      "cycle_progress": {
        "name": "Fortschritt"
      },
      "current_power": {
        "name": "Aktuelle Leistung"
      },
      "elapsed_time": {
        "name": "Verstrichene Zeit"
      },
      "debug_info": {
        "name": "Debug-Info"
      },
      "match_confidence": {
        "name": "Match-Vertrauen"
      },
      "top_candidates": {
        "name": "Top-Kandidaten",
        "state": {
          "none": "Keiner"
        }
      },
      "ambiguity": {
        "name": "Mehrdeutigkeitswert"
      },
      "current_phase": {
        "name": "Aktuelle Phase"
      },
      "profile_cycle_count": {
        "name": "Profil {profile_name} Anzahl",
        "unit_of_measurement": "Zyklen"
      },
      "suggestions": {
        "name": "Empfohlene Einstellungen"
      },
      "pump_runs_today": {
        "name": "Pumpenläufe (letzte 24 Stunden)"
      },
      "cycle_count": {
        "name": "Zyklusanzahl"
      },
      "energy_total": {
        "name": "Energie gesamt"
      }
    },
    "select": {
      "program_select": {
        "name": "Zyklusprogramm",
        "state": {
          "auto_detect": "Automatische Erkennung"
        }
      }
    },
    "button": {
      "force_end_cycle": {
        "name": "Zyklusende erzwingen"
      },
      "pause_cycle": {
        "name": "Zyklus anhalten"
      },
      "resume_cycle": {
        "name": "Zyklus fortsetzen"
      },
      "record_start": {
        "name": "Zyklusaufzeichnung starten"
      },
      "record_stop": {
        "name": "Zyklusaufzeichnung stoppen"
      }
    }
  },
  "exceptions": {
    "device_id_required": {
      "message": "Eine gültige Geräte-ID ist erforderlich."
    },
    "cycle_id_required": {
      "message": "Eine gültige cycle_id ist erforderlich."
    },
    "profile_name_required": {
      "message": "Ein gültiger Profilname ist erforderlich."
    },
    "device_not_found": {
      "message": "Gerät nicht gefunden."
    },
    "no_config_entry": {
      "message": "Für das Gerät wurde kein Konfigurationseintrag gefunden."
    },
    "integration_not_loaded": {
      "message": "Die Integration wurde für dieses Gerät nicht geladen."
    },
    "cycle_not_found_or_no_power": {
      "message": "Zyklus nicht gefunden oder hat keine Leistungsdaten."
    },
    "trim_failed_empty_window": {
      "message": "Zuschneiden fehlgeschlagen – Zyklus nicht gefunden, keine Leistungsdaten oder resultierendes Fenster ist leer."
    },
    "trim_invalid_range": {
      "message": "trim_end_s muss größer als trim_start_s sein."
    },
    "no_active_cycle": {
      "message": "Kein aktiver Zyklus zum Anhalten oder Fortsetzen."
    },
    "path_not_allowed": {
      "message": "Pfad ist nicht zulässig: {path}. Fügen Sie dessen Verzeichnis zu 'allowlist_external_dirs' in configuration.yaml hinzu."
    },
    "create_profile_failed": {
      "message": "Profil konnte nicht erstellt werden: {error}"
    },
    "export_path_exists": {
      "message": "Das Exportziel existiert bereits: {path}. Wählen Sie einen anderen Pfad oder entfernen Sie zuerst die vorhandene Datei."
    },
    "export_write_failed": {
      "message": "Export konnte nicht nach {path} geschrieben werden: {error}"
    },
    "assign_profile_failed": {
      "message": "Profil konnte nicht zugewiesen werden: {error}"
    }
  }
}
