Updated apps

This commit is contained in:
2026-07-20 22:52:35 -04:00
parent 28a8cb98f6
commit a0c3271743
1164 changed files with 94781 additions and 6892 deletions
@@ -87,7 +87,7 @@
"on_cycle_finished": "Ein Zyklus beendet",
"on_cycle_started": "Ein Zyklus gestartet",
"pause_cycle": "Pause",
"pause_cycle_tip": "Laufenden Zyklus anhalten das Gerät setzt dort fort, wo es aufgehört hat",
"pause_cycle_tip": "Laufenden Zyklus anhalten das Gerät setzt dort fort, wo es aufgehört hat",
"pg_apply_device": "Auf Gerät anwenden",
"pg_autofill": "Automatisch ausfüllen",
"play": "Abspielen",
@@ -97,8 +97,8 @@
"process_tip": "Aufgezeichnete Datenspur als neues oder vorhandenes Profil speichern",
"rebuild": "Umschläge neu erstellen",
"rebuild_envelope": "Umschlag neu erstellen",
"rebuild_tip": "Erwarteten Leistungsumschlag (Min./Max.-Band) für alle Profile aus deren beschrifteten Zyklen neu berechnen nach dem Beschriften neuer oder Korrigieren alter Zyklen ausführen",
"rec_start_tip": "Leistungsaufzeichnung des Geräts starten kurz vor dem Starten eines Zyklus beginnen",
"rebuild_tip": "Erwarteten Leistungsumschlag (Min./Max.-Band) für alle Profile aus deren beschrifteten Zyklen neu berechnen nach dem Beschriften neuer oder Korrigieren alter Zyklen ausführen",
"rec_start_tip": "Leistungsaufzeichnung des Geräts starten kurz vor dem Starten eines Zyklus beginnen",
"rec_stop": "Stoppen",
"rec_stop_tip": "Aufnahme stoppen und die erfasste Datenspur zur Überprüfung bereitstellen",
"record": "Aufnahme starten",
@@ -231,7 +231,7 @@
"interval": "Sollte mindestens das 2-fache des Abtastintervalls ({si} s) betragen",
"sampling": "Abtastintervall sollte höchstens die Hälfte des Watchdog-Intervalls ({wi} s) betragen"
},
"settings_banner": "{n} Einstellungskonflikt{s} markierte Abschnitte prüfen und vor dem Speichern beheben.",
"settings_banner": "{n} Einstellungskonflikt{s} markierte Abschnitte prüfen und vor dem Speichern beheben.",
"settings_banner_btn": "Zum ersten"
},
"hdr": {
@@ -451,9 +451,9 @@
"show_expected": "Erwartete Kurvenüberlagerung anzeigen (angepasstes Profil, orange)",
"show_raw": "Umschalter für rohe Steckdosenwerte im Live-Leistungsdiagramm anzeigen",
"sparkline": "Trend der letzten Zyklusdauern",
"stage2": "Stufe 2 Kernähnlichkeit",
"stage3": "Stufe 3 DTW",
"stage4": "Stufe 4 Übereinstimmung",
"stage2": "Stufe 2 Kernähnlichkeit",
"stage3": "Stufe 3 DTW",
"stage4": "Stufe 4 Übereinstimmung",
"status": "Status",
"tail_trim": "Ende kürzen (s)",
"timer_auto_pause": "Automatische Pause",
@@ -561,7 +561,12 @@
"flags": "Flags",
"include_phase_map": "Phasenkarte einbeziehen",
"include_settings": "Erkennungs- und Abgleicheinstellungen einbeziehen",
"show_contributor": "Beiträgernamen anzeigen"
"show_contributor": "Beiträgernamen anzeigen",
"task_pg_detail": "Zyklus simulieren",
"task_split": "Zyklus wird geteilt",
"task_trim": "Zyklus wird zugeschnitten",
"task_merge": "Zyklen werden zusammengeführt",
"task_rebuild": "Hüllkurven werden neu aufgebaut"
},
"log": {
"all_levels": "Alle Ebenen",
@@ -645,7 +650,7 @@
"artifact_dip_detail": "Sank unter das übliche Leistungsband für ~{n}s.",
"artifact_footer": "In der Grafik oben hervorgehoben. Hierbei handelt es sich um vorübergehende Artefakte (z. B. das Öffnen der Tür mitten im Zyklus), nicht unbedingt um Probleme.",
"artifact_header": "{n} Anomalien wurden während dieses Zyklus erkannt",
"artifact_pause_detail": "Die Leistung fiel für ~{n}s nahezu auf null und wurde dann wieder aufgenommen wahrscheinlich wurde die Tür während des Zyklus geöffnet oder der Zyklus wurde angehalten.",
"artifact_pause_detail": "Die Leistung fiel für ~{n}s nahezu auf null und wurde dann wieder aufgenommen wahrscheinlich wurde die Tür während des Zyklus geöffnet oder der Zyklus wurde angehalten.",
"artifact_spike_detail": "Überstieg das übliche Leistungsband für ~{n}s.",
"auto_label_intro": "Weisen Sie Profile unbeschrifteten Zyklen zu, deren Übereinstimmungskonfidenz den Schwellenwert überschreitet.",
"automations_intro": "WashData löst {start} / {end}-Ereignisse aus und stellt Entitäten bereit, sodass Benachrichtigungen und Aktionen am besten als normale Home Assistant-Automatisierungen eingerichtet werden. Automatisierungen, die dieses Gerät verwenden, werden unten angezeigt.",
@@ -657,7 +662,7 @@
"compare_selected_cycles": "Ausgewählte Zyklen (durchgehend) ein-/ausblenden",
"consider_new_profile": "Erwägen Sie die Erstellung eines neuen Profils.",
"coverage_gap": "Die letzten Zyklen haben kein passendes Profil ({pct} % der letzten 30).",
"coverage_gap_similar_cycles": "{count} ähnliche unbeschriftete Zyklen gefunden erstellen Sie ein Profil, um diese zu erkennen.",
"coverage_gap_similar_cycles": "{count} ähnliche unbeschriftete Zyklen gefunden erstellen Sie ein Profil, um diese zu erkennen.",
"cycles_deleted": "{count} Zyklen gelöscht",
"enough_data": "Genügend Daten zum Lernen ({current}/{min} Zyklen).",
"export_description": "Exportieren Sie alle Profile und Zyklen nach JSON oder stellen Sie einen vorherigen Export wieder her.",
@@ -686,7 +691,7 @@
"ml_learned_intro": "Auf diese Maschine abgestimmte Modelle.",
"ml_loading": "ML wird geladen…",
"ml_settings_intro": "Zwei unabhängige Schalter: Einer wendet die Modelle an, während ein Zyklus läuft, der andere ermöglicht es WashData, sie im Laufe der Zeit an Ihre Maschine anzupassen.",
"name_first_program": "Sie haben genügend Zyklen benennen Sie Ihr erstes Programm, um den Abgleich zu starten.",
"name_first_program": "Sie haben genügend Zyklen benennen Sie Ihr erstes Programm, um den Abgleich zu starten.",
"near_duplicate_cluster": "Beinahe doppelter Profilcluster erkannt. Durch die Gruppierung kann beim Matching zuverlässig zwischen Doppelgängern ausgewählt werden (z. B. dasselbe Programm bei unterschiedlicher Temperatur/Schleuder).",
"no_cycles_match": "Keine Zyklen entsprechen dem aktuellen Filter.",
"no_cycles_profile": "Keine Zyklen für dieses Profil.",
@@ -713,7 +718,7 @@
"notify_services_hint": "Verwenden Sie {entity}-Dienst-IDs (kommagetrennt für mehrere). Template-Variablen: {vars}.",
"old_actions_warning": "Konfiguriert mit dem alten Aktionseditor (jetzt entfernt). Sie werden weiterhin auf Zyklusereignisse ausgelöst, können hier jedoch nicht mehr bearbeitet werden. Wandeln Sie in eine normale Automatisierung um oder entfernen Sie sie.",
"onboarding_progress": "{n} / 3 Zyklen beobachtet",
"onboarding_watching": "Lassen Sie Ihr Gerät normal laufen WashData beobachtet. Nach 3 Zyklen beginnt der Programmabgleich.",
"onboarding_watching": "Lassen Sie Ihr Gerät normal laufen WashData beobachtet. Nach 3 Zyklen beginnt der Programmabgleich.",
"pending_feedback": "Ausstehende Rückmeldung zur Erkennung",
"performance_trend": "Leistungstrend ({n} Zyklen)",
"pg_analysis_empty": "Laden Sie einen Zyklus, um die Zuordnungsanalyse anzuzeigen.",
@@ -763,7 +768,7 @@
"setting_changed": "Geändert von {old} zu {new} am {date}",
"settings_basic_note": "Es werden die wesentlichen Einstellungen angezeigt. Wechseln Sie zu Erweitert für die vollständige Liste.",
"shape_drift_advisory": "⚠ Musterdrift",
"shape_drift_detail": "Das Leistungsmuster dieses Profils hat sich im Laufe der Zeit verändert möglicher Geräteverschleiß oder Wartung erforderlich (z. B. Entkalken, Filterreinigung).",
"shape_drift_detail": "Das Leistungsmuster dieses Profils hat sich im Laufe der Zeit verändert möglicher Geräteverschleiß oder Wartung erforderlich (z. B. Entkalken, Filterreinigung).",
"show_all_settings": "Alle Einstellungen anzeigen",
"showing_suggestions": "{count} Einstellung mit Vorschlägen wird angezeigt.",
"split_intro": "Klicken Sie auf das Diagramm, um einen Teilungspunkt hinzuzufügen oder zu entfernen oder eine automatische Erkennung anhand von Leerlauflücken durchzuführen. Jedes resultierende Segment kann ein eigenes Profil erhalten.",
@@ -857,7 +862,9 @@
"share_guidelines_title": "Vor dem Teilen",
"store_download_device_intro": "Übernehmen Sie alle geteilten Programme und deren Referenzzyklen auf Ihr Gerät. Ihre eigenen aufgezeichneten Zyklen und Statistiken bleiben unberührt.",
"store_share_device_intro": "Laden Sie {brand} {model} mit den von Ihnen ausgewählten Referenzzyklen hoch. Andere mit demselben Gerät können Ihre Programme übernehmen. Einträge werden vor der öffentlichen Erscheinung geprüft.",
"share_profile_no_cycles": "Keine Referenzzyklen -- markieren Sie einen Zyklus als ⭐ im Tab Zyklen, um dieses Profil einzubeziehen"
"share_profile_no_cycles": "Keine Referenzzyklen -- markieren Sie einen Zyklus als ⭐ im Tab Zyklen, um dieses Profil einzubeziehen",
"advisory_phase_inconsistent": "'{name}' scheint verschiedene Programme oder Temperaturen zu vermischen - seine Zyklen heizen unterschiedlich lange. Wenn Sie es in separate Profile aufteilen (z. B. pro Temperatur), verbessern sich Abgleich und Zeitschätzungen.",
"advisory_phase_inconsistent_title": "⚠ Möglicherweise gemischte Programme"
},
"pg_desc": {
"abrupt_drop_watts": "Plötzlicher Abfall gilt als sofortiges Ende",
@@ -869,12 +876,19 @@
"start_duration_threshold": "Sekunden über dem Schwellenwert, um den Start zu bestätigen",
"start_threshold_w": "Mindestwattzahl, um als gestartet zu gelten",
"stop_threshold_w": "Darunter gilt die Maschine als aus",
"dtw_bandwidth": "Wie viel Zeitverzerrung der Formabgleich zulässt",
"corr_weight": "Gewichtung von Kurvenform gegenüber Leistungspegel bei der Zuordnung",
"duration_weight": "Wie stark die Übereinstimmung der Laufzeit die Zuordnung beeinflusst",
"energy_weight": "Wie stark die Übereinstimmung des Energieverbrauchs die Zuordnung beeinflusst",
"profile_match_min_duration_ratio": "Kürzester Durchlauf (im Vergleich zum Profil), der noch zugeordnet werden darf",
"profile_match_max_duration_ratio": "Längster Durchlauf (im Vergleich zum Profil), der noch zugeordnet werden darf"
"dtw_bandwidth": "Stufe 3: Sakoe-Chiba-Verzerrungsband (0 = DTW aus; Standard 0,2 = 20% der Zykluslänge)",
"corr_weight": "Stufe 2: Balance zwischen Kurvenform (Korrelation) und Leistungspegel (MAE); Standard 0,45",
"duration_weight": "Stufe 4: wie stark die Dauerübereinstimmung den Endscore beeinflusst (Standard 0,22)",
"energy_weight": "Stufe 4: wie stark die Energieübereinstimmung den Endscore beeinflusst (Standard 0,22)",
"profile_match_min_duration_ratio": "Stufe 1: minimale Zyklusdauer als Bruchteil der Profildauer; Standard 0,1 (10%)",
"profile_match_max_duration_ratio": "Stufe 1: maximale Zyklusdauer als Bruchteil der Profildauer; Standard 1,5 (150%)",
"keep_min_score": "Stufe 2: Mindest-Score, um im Auswahlverfahren zu bleiben; Standard 0,1 lässt schwache Kandidaten zu, spätere Stufen wählen den besten",
"dtw_blend": "Stufe 3: 0 = nur Kernscore, 1 = nur DTW-Score, 0,5 = gleiche Mischung (Standard)",
"dtw_ensemble_w": "Stufe 3 (Ensemble-Modus): Gewicht auf skaliertem L1 gegenüber Ableitungs-DTW; Standard 0,7 bevorzugt pegelabhängige Erkennung",
"dtw_ddtw_scale": "Stufe 3: DDTW-Halbsättigungsabstand; kleiner = formempfindlicher (Standard 30)",
"dtw_refine_top_n": "Stufe 3: per DTW neu bewertete Kandidaten; auf 7-9 erhöhen, wenn das richtige Profil auf Platz 4-5 liegt (Standard 5)",
"duration_scale": "Stufe 4: Log-Verhältnis, bei dem die Dauerübereinstimmung halbiert wird; kleiner = strengere Strafe (Standard 0,175)",
"energy_scale": "Stufe 4: Log-Verhältnis, bei dem die Energieübereinstimmung halbiert wird; kleiner = strengere Strafe (Standard 0,25)"
},
"phase_desc": {
"anti_crease": "Gelegentliche kurze Trommelumwälzungen nach Abschluss, um Knitterung zu vermeiden.",
@@ -957,6 +971,10 @@
"triggers": {
"intro": "Optionale externe Signale: ein Endauslöser, ein Türsensor, ein Pause-Schalter und die Entladeerinnerung.",
"label": "Auslöser & Türen"
},
"phase_eta": {
"label": "Verbleibende Zeit",
"intro": "Phasenbewusste Restzeit, für Maschinen, deren Zyklusdauer von Temperatur oder Schleuderdrehzahl abhängt."
}
},
"setting": {
@@ -1040,6 +1058,10 @@
"doc": "Fester Preis pro kWh, der für Kostenzahlen verwendet wird, wenn oben keine Live-Preiseinheit festgelegt ist.",
"label": "Statischer Energiepreis (pro kWh)"
},
"energy_sensor": {
"doc": "Optionaler kumulativer Energiezähler (total_increasing in kWh/Wh, z. B. der eigene Lebensdauerzähler der Steckdose). Wenn gesetzt, wird die gemeldete Energie jedes Zyklus aus der Differenz dieses Zählers zwischen Anfang und Ende ermittelt, was die Untererfassung vermeidet, die beim Integrieren eines langsam meldenden Leistungssensors entsteht. Greift auf den integrierten Wert zurück, wenn der Messwert fehlt, seine Einheit unbekannt ist oder die Differenz nicht positiv ausfällt. Leer lassen, um weiterhin den Leistungssensor zu integrieren.",
"label": "Energiezähler-Entität"
},
"expose_debug_entities": {
"doc": "Veröffentlichen Sie zusätzliche diagnostische HA-Entitäten (Übereinstimmungskonfidenz, Mehrdeutigkeit, Zustandsinterna). Aus sorgt dafür, dass die Entitätsliste für den normalen Gebrauch sauber bleibt.",
"label": "Debug-Entitäten anzeigen"
@@ -1322,6 +1344,38 @@
},
"show_contributor": {
"doc": "Zeigt die Nennung 'von <contributor>' bei Community-Geräten und Referenzzyklen an."
},
"enable_phase_matching": {
"label": "Phasenbewusste Restzeit",
"doc": "Teilt jeden laufenden Zyklus in Phasen auf (Heizen, Waschen, Schleudern) und veranschlagt die verbleibende Zeit pro Phase, gemischt mit der klassischen Schätzung - zu Beginn des Zyklus stützt sie sich auf das Phasenbudget, gegen Ende auf die klassische Schätzung. Dadurch wird der Countdown darauf abgestimmt, wie lange Ihre Maschine tatsächlich heizt und läuft, was in der ersten Hälfte eines Zyklus am deutlichsten spürbar ist. Aus = nur die klassische Schätzung. Betroffen ist ausschließlich die Anzeige der verbleibenden Zeit; Programmabgleich und Zykluserkennung bleiben unverändert."
},
"keep_min_score": {
"label": "Min. Match-Score",
"doc": "Mindest-Ähnlichkeitsscore, den ein Kandidat benötigt, um im Auswahlverfahren zu bleiben. Der Standard 0,1 ist absichtlich permissiv - er lässt auch schwache Kandidaten zu und verlässt sich auf spätere Stufen, um die beste Übereinstimmung zu finden. Erhöhen, um unwahrscheinliche Profile früher auszuschließen; verringern, um den anfänglichen Kandidatenpool zu erweitern."
},
"dtw_blend": {
"label": "Warp-Mischgewicht",
"doc": "Wie stark der Zeitverzerrungsscore (DTW) den Kernscore der Stufe 2 ersetzt. 0 = nur Stufe-2-Score, 1 = nur DTW-Score, 0,5 (Standard) = gleiche Mischung. Erhöhen, um sich mehr auf die Warp-Ausrichtung zu verlassen, wenn Programme ähnliche Leistungspegel, aber unterschiedliche Zeitmuster aufweisen."
},
"dtw_ensemble_w": {
"label": "Warp-Ensemble-Anteil",
"doc": "Im Ensemble-DTW-Modus (Standard) das Gewicht auf skaliertem L1 gegenüber Ableitungs-DTW (DDTW). 1,0 = nur skaliertes L1, 0 = nur DDTW, 0,7 = Standard. Die skalierte L1-Variante vergleicht Leistungspegel; die Ableitungsvariante reagiert auf Leistungsänderungen im Zeitverlauf. Ensemble kombiniert beide."
},
"dtw_ddtw_scale": {
"label": "Ableitungs-Warp-Skalierung",
"doc": "Halbsättigungsabstand für die Ableitungs-DTW-Bewertung. Der Score halbiert sich, wenn die DDTW-Distanz diesen Wert erreicht. Kleiner = empfindlicher gegenüber Formunterschieden. Standard 30 ist auf typische Geräteleistungsverläufe kalibriert. Betrifft nur Ensemble- und DDTW-DTW-Modi."
},
"dtw_refine_top_n": {
"label": "Warp-Verfeinerungsanzahl",
"doc": "Anzahl der besten Stufe-2-Kandidaten, die per DTW neu bewertet werden. DTW ist aufwendiger, daher wird es nur auf die besten N Kandidaten angewendet. Standard 5. Erhöhen (auf 7-9), wenn das richtige Profil nach Stufe 2 manchmal nur auf Platz 4 oder 5 landet - DTW kann es noch retten. Verringern beschleunigt das Matching leicht."
},
"duration_scale": {
"label": "Laufzeit-Trennschärfe",
"doc": "Schärfe der Dauerübereinstimmungsstrafe in Stufe 4. Dies ist das Log-Verhältnis, bei dem der Übereinstimmungsscore halbiert wird. Kleiner = strenger: eine Dauerabweichung schadet mehr. Standard 0,175 entspricht etwa 18% Dauertoleranz beim halben Gewicht. Gemeinsam mit der Dauergewichtung anpassen."
},
"energy_scale": {
"label": "Energie-Trennschärfe",
"doc": "Schärfe der Energieübereinstimmungsstrafe. Kleiner = strenger: eine Energieabweichung schadet mehr. Standard 0,25 ist absichtlich nachsichtiger als die Dauerschärfe, da Energie lastabhängig schwankt. Gemeinsam mit der Energiegewichtung anpassen."
}
},
"setting_group": {
@@ -1766,6 +1820,69 @@
},
"pg_sweep": {
"optimize": "Optimieren: {param}"
},
"pg_detail": {
"simulate": "Zyklus simulieren"
},
"split": {
"apply": "Zyklus wird geteilt"
},
"trim": {
"apply": "Zyklus wird zugeschnitten"
},
"merge": {
"apply": "Zyklen werden zusammengeführt"
},
"rebuild": {
"envelopes": "Hüllkurven werden neu aufgebaut"
},
"cancelling": "Wird abgebrochen..."
},
"setup": {
"hdr": {
"card": "Gerät einrichten",
"healthy_chip": "Einrichtung abgeschlossen"
},
"phase0": {
"washer": "WashData erkennt bereits Ihre Zyklen. Nehmen Sie Ihren ersten Zyklus auf, um Programmnamen und Zeitschätzungen zu aktivieren.",
"dishwasher": "WashData beobachtet. Geschirrspüler haben komplexe Zyklen es wird dringend empfohlen, Ihren ersten Zyklus aufzunehmen. Falls ein erkannter Zyklus zu lang läuft, kürzen Sie ihn im Zyklus-Editor, bevor Sie ihn als Profil speichern.",
"generic": "WashData beobachtet. Nehmen Sie einen Zyklus auf oder beschriften Sie einen erkannten Zyklus, um mit dem Aufbau von Profilen zu beginnen."
},
"phase1a": {
"labelled": "Guter Start Ihr erstes Programm ist gespeichert. Für die saubersten Daten empfiehlt es sich, den nächsten Zyklus mit dem Aufnahme-Widget aufzuzeichnen."
},
"phase1b": {
"recorded": "Ihre Aufnahme wurde als {profile_name} gespeichert. Nehmen Sie nun Ihre anderen häufig verwendeten Programme auf oder beschriften Sie sie, um die Abdeckung zu verbessern."
},
"phase1c": {
"verify": "Sie haben {count} Programme aus der Community. Führen Sie einen Zyklus durch, um zu überprüfen, ob WashData ihn korrekt erkennt die Erkennung verbessert sich, je mehr Verlauf Ihr Gerät aufbaut."
},
"phase2": {
"cluster": "WashData hat {count} Zyklen gesehen, die keinem gespeicherten Programm entsprechen sie sehen einander ähnlich aus. Möchten Sie ein neues Profil dafür erstellen?",
"unmatched": "Ihr letzter Zyklus hat keinem gespeicherten Programm entsprochen. Ist es ein neues Programm?"
},
"phase3": {
"suggestions": "WashData hat Einstellungsempfehlungen basierend auf Ihrem Zyklusverlauf überprüfen Sie sie, um die Erkennungsgenauigkeit zu verbessern.",
"groups": "Einige Ihrer Profile sehen aus wie dasselbe Programm bei unterschiedlichen Temperaturen. Organisieren Sie sie in einer Gruppe für eine bessere Erkennung.",
"phases": "Fügen Sie {profile_name} Programmphasen hinzu, um genauere Schätzungen der verbleibenden Zeit zu erhalten."
},
"phase4": {
"healthy": "Dieses Gerät ist vollständig eingerichtet ({profile_count} Profile)."
},
"cta": {
"start_recording": "Aufnahme starten",
"label_detected_cycle": "Ich habe bereits einen erkannten Zyklus stattdessen beschriften",
"browse_cycles": "Zyklen durchsuchen, um einen weiteren zu beschriften",
"view_profiles": "Ihre Profile anzeigen",
"create_from_cluster": "Profil aus diesen Zyklen erstellen",
"create_profile": "Ein Profil dafür erstellen",
"review_suggestions": "Empfehlungen überprüfen",
"organise_profiles": "Profile organisieren",
"configure_phases": "Phasen konfigurieren",
"skip_step": "Diesen Schritt überspringen",
"skip_forever": "Nicht mehr anzeigen",
"hide_guidance": "Anleitung ausblenden",
"show_guidance": "Anleitung einblenden"
}
}
}