Files
2026-07-17 10:12:15 -04:00

449 lines
15 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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."
}
},
"first_profile": {
"title": "Erstes Profil erstellen",
"description": "Ein **Zyklus** ist ein vollständiger Durchlauf Ihres Geräts (z. B. eine Ladung Wäsche). Ein **Profil** gruppiert diese Programme nach Typ (z. B. „Baumwolle“, „Schnellwäsche“). Wenn Sie jetzt ein Profil erstellen, kann die Integrationsdauer sofort geschätzt werden.\n\nSie können dieses Profil in der Gerätesteuerung manuell auswählen, wenn es nicht automatisch erkannt wird.\n\n**Lassen Sie „Profilname“ leer, um diesen Schritt zu überspringen.**",
"data": {
"profile_name": "Profilname (optional)",
"manual_duration": "Geschätzte Dauer (Minuten)"
}
},
"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,500,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}"
}
}
}