Skip to content

Commit ffcc8a4

Browse files
Patch76claude
andauthored
Add German (de) localization for the settings UI, component, and add-on (#1920)
* feat(i18n): scaffold German settings-UI catalog (English placeholders) * feat(i18n): translate German settings-UI catalog * fix(i18n): reword German backup-count string per the plural rule * feat(i18n): German component and add-on config translations Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(i18n): polish three awkward German phrasings (quality pass) * fix(i18n): minor German consistency polish (pronoun clarity, operator wording) * fix(i18n): address add-on de.yaml review — grammar, localized cross-ref, coverage guard - enable_auto_backup: 'Häkchen entfernen' (was 'abhaken', opposite of uncheck) - enable_tool_search: dative 'denen ... fehlen' (was 'die') - backup_hint: cross-ref uses the localized toggle label - enable_snapshot_delete: 'dies hier aktiv aktivieren' (was non-verb 'opt-in') - test_translations_cover_every_schema_key now guards every translations/*.yaml (de + ru), not only en.yaml * fix(i18n): validate tool descriptions against displayed text, not full docstring localizedToolCopy compared the translated description against the full runtime docstring, whose deeper lines carry API-path tokens ({slug}, {configuration}, {type}) never shown in the one-line summary — so the condensed de (and ru) descriptions for ha_manage_addon and ha_config_list_helpers were silently dropped to English. Compare against the displayed condensed text instead, mirroring the title branch. Inverts test_tool_translation_placeholder_set_matches_full_metadata (which asserted the old full-docstring behavior) into test_tool_translation_validates_description_against_displayed_text. Addresses the follow-up review on #1920. --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent c7f21d0 commit ffcc8a4

8 files changed

Lines changed: 1440 additions & 38 deletions

File tree

custom_components/ha_mcp_tools/translations/de.json

Lines changed: 135 additions & 0 deletions
Large diffs are not rendered by default.

homeassistant-addon-dev/translations/de.yaml

Lines changed: 285 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
---
2+
configuration:
3+
backup_hint:
4+
name: Full-HA Snapshot-Vorschlagsebene (LLM-seitig)
5+
description: |-
6+
Passt die Formulierung des Hinweises an, den das LLM in der
7+
`ha_manage_backup(scope='snapshot')`-Tool-Beschreibung sieht, wann es ein
8+
vollständiges Home Assistant Tarball-Backup vor riskanten Operationen
9+
vorschlagen soll (z.B. Massen-Gerätelöschungen). Betrifft NUR diesen einen
10+
LLM-seitigen Prompt-Satz.
11+
12+
Für automatische Snapshots pro Bearbeitung von Automatisierungen / Skripten /
13+
Helfern / etc. nutze den separaten **Auto-Backup von Bearbeitungen aktivieren**-Schalter
14+
unten.
15+
secret_path:
16+
name: Secret-Pfad Override
17+
description: |
18+
Optionaler benutzerdefinierter HTTP-Pfad für den MCP-Server. Leer lassen, um den automatisch generierten sicheren Pfad zu verwenden.
19+
enable_tool_search:
20+
name: Tool Search aktivieren
21+
description: >-
22+
Ersetzt den vollständigen Tool-Katalog durch suchbasierte Entdeckung. Reduziert
23+
den Idle-Kontext von ~46K auf ~5K Tokens. ⚠️ Aktiviere dies NICHT, wenn du
24+
Claude in Sonnet- oder Opus-Modi nutzt – diese Modelle haben eigenen
25+
eingebauten Tool Search / Deferred Tools, der mit unserem kollidiert. Um
26+
ha-mcps Tool Search mit Claude zu nutzen, deaktiviere zuerst Claudes
27+
eingebauten Tool Search; ansonsten lass dies aus. Nutze dies nur mit LLMs,
28+
denen native Deferred Tools fehlen (z.B. Claude Haiku, lokale
29+
OpenAI-kompatible Modelle) oder mit kleineren Kontextfenstern. Tools werden
30+
via ha_search_tools gefunden und über kategorisierte Proxies ausgeführt
31+
(read/write/delete). Erfordert einen Neustart, um wirksam zu werden. Dann
32+
neu verbinden oder den MCP-Server in deinem AI-Client aktualisieren, damit
33+
er die Tool-Liste neu lädt. Ein Neustart des Add-ons allein aktualisiert
34+
NICHT die gecachte Tool-Liste eines Clients; dies gilt nach jeder
35+
Einstellungsänderung hier.
36+
enable_tool_security_policies:
37+
name: Tool Security Policies aktivieren (erweitert)
38+
description: >-
39+
Schützt hochriskante Tool-Aufrufe (Lock/Alarm-Steuerung,
40+
Automatisierungs-Schreibvorgänge, etc.) hinter Benutzer-Genehmigung. Wenn
41+
ein geschütztes Tool aufgerufen wird, teilt der Agent dem Benutzer mit, den
42+
Tool Security Policies-Tab im Web UI zu öffnen und Approve zu klicken,
43+
bevor der Aufruf fortfährt. Pro-Tool-Regeln mit optionalen
44+
Argument-Bedingungen werden im Tool Security Policies-Tab konfiguriert.
45+
Standardmäßig aus. Erfordert Neustart, um wirksam zu werden.
46+
read_only_mode:
47+
name: Read-Only-Modus
48+
description: >-
49+
Schaltet alle Schreib-Tools aus und entfernt die Fähigkeit für Tools,
50+
Schreib- oder destruktive Aufrufe zu machen. Gemischte Read/Write-Tools
51+
(Backups, Add-ons, Energiepräferenzen, Voice Pipelines und Code-Modus wenn
52+
aktiviert) bleiben verfügbar mit blockierten Schreiboperationen. Gleicher
53+
Schalter wie im Web UI Tools-Tab. Standardmäßig aus. Erfordert Neustart, um
54+
wirksam zu werden.
55+
enable_mandatory_bps:
56+
name: Best-Practice-Skills bei Schreibvorgängen anhängen
57+
description: >-
58+
Hauptschalter für die Schreib-Tool Skill Content Delivery Feature (Issue
59+
#1182). Wenn aktiviert (Standard), hängen die sechs Config-Schreib-Tools
60+
(Automatisierungen, Skripte, Szenen, Helfer, Dashboards, Raw YAML) die
61+
kanonischen Home Assistant Best-Practice-Referenzdateien unter
62+
`skill_content` bei jedem erfolgreichen Schreibvorgang an, plus
63+
Auto-Embedding aller Referenzsektionen, die von Best-Practice-Warnungen
64+
zitiert werden. Jedes Tool stellt auch einen `MandatoryBPS`-Parameter pro
65+
Aufruf bereit, den der Agent bei Folgeaufrufen auf false setzen kann, sobald
66+
er den Inhalt hat. Wenn dieser Hauptschalter aus ist, geht KEIN
67+
skill_content raus, unabhängig vom Pro-Aufruf-Parameter oder BP-Warnungen.
68+
Empfohlen AN als erste Wahl; deaktiviere nur bei Modellen mit sehr kleinen
69+
Kontextfenstern. Dies auszuschalten kann die Schreibgenauigkeit
70+
verschlechtern. Erfordert Neustart, um wirksam zu werden.
71+
enable_strict_mandatory_bps:
72+
name: Strikter Best-Practices-Modus
73+
description: >-
74+
Strikter Modus: verhindert, dass der Client das Tool nutzt, bis er
75+
nachweisen kann, dass er die Best Practices gelesen hat. Während an, sind
76+
die sechs Best-Practice-Schreib-Tools (Automatisierungen, Skripte, Szenen,
77+
Helfer, Dashboards, Raw YAML) blockiert und geben einen Fehler zurück, der
78+
den Client anweist, die Best-Practices-Skill via ha_get_skill_guide zu
79+
lesen und den dort erhaltenen Acknowledgment Key zurückzugeben. Während an,
80+
ist das ha_get_skill_guide-Tool gesperrt aktiviert – es ist der einzige
81+
Publisher des Acknowledgment Keys. Kind der "Attach best-practice skills on
82+
writes"-Option oben und inert, während dieses Parent aus ist. Erfordert
83+
Neustart, um wirksam zu werden.
84+
enable_auto_backup:
85+
name: Auto-Backup von Bearbeitungen aktivieren
86+
description: >-
87+
Erfasst einen Pro-Entität-Snapshot vor jedem umschlossenen
88+
Schreib/destruktiven MCP-Tool-Aufruf (Automatisierung, Skript, Szene,
89+
Helfer, Dashboard, Label, Kategorie, Gruppe, Zone, Bereich, Kalender, Todo,
90+
Entität, Integration und verwandte Remove/Delete-Tools). Snapshots werden
91+
als YAML-Dateien unter /data/ha_mcp_backups/ gespeichert (Override via
92+
HAMCP_BACKUP_DIR) und über den Backups-Tab im Web-Settings-UI oder via
93+
ha_manage_backup(scope='edits', ...) aufgelistet, wiederhergestellt oder
94+
gelöscht. Best-Effort – Fehler loggen ein WARNING, blockieren aber nie den
95+
zugrunde liegenden Schreibvorgang. Standardmäßig an; Häkchen entfernen, um
96+
auszusteigen. Erfordert Neustart, um wirksam zu werden.
97+
auto_backup_throttle_minutes:
98+
name: Auto-Backup-Drosselung (Minuten)
99+
description: >-
100+
Pro-Entität-Drosselungsfenster. 0 (Standard) erfasst einen Snapshot bei
101+
jedem umschlossenen Schreibvorgang. N>0 erfasst höchstens einen Snapshot pro
102+
N Minuten pro Entität. Bereich 0–1440.
103+
auto_backup_retain_per_entity:
104+
name: Auto-Backup-Aufbewahrung (pro Entität)
105+
description: >-
106+
Maximale Anzahl von Snapshots, die pro Entität behalten werden. Ältere
107+
Snapshots jenseits dieser Grenze werden bei jeder erfolgreichen Erfassung
108+
ausgetauscht. Standard 100, Bereich 1–10000.
109+
enable_snapshot_delete:
110+
name: Snapshot-Löschung erlauben
111+
description: >-
112+
Lässt ha_manage_backup vollständige HA-Snapshot-Tarballs löschen
113+
(scope='snapshot', action='delete'). Standardmäßig aus – ein Snapshot
114+
könnte der letzte Wiederherstellungspunkt nach einer fehlerhaften Änderung
115+
sein, also muss ein Mensch dies hier aktiv aktivieren. Auch wenn an, bleiben geplante
116+
Backups, der neueste verbleibende Snapshot und alles jünger als der
117+
Alters-Floor unten geschützt.
118+
snapshot_delete_min_age_days:
119+
name: Mindestalter für Snapshot-Löschung (Tage)
120+
description: >-
121+
Ein Snapshot muss mindestens so alt sein, bevor er gelöscht werden kann.
122+
Bereich 0–365; 0 deaktiviert den Floor (die Neuester-Snapshot- und
123+
Geplante-Backup-Schutzmaßnahmen gelten weiterhin). Standard 7.
124+
verify_ssl:
125+
name: TLS-Zertifikat verifizieren
126+
description: >-
127+
Verifiziert das TLS-Zertifikat des Home Assistant Servers. Das Add-on
128+
verbindet sich via Supervisor-Proxy, daher hat dies normalerweise keinen
129+
Effekt und sollte aktiviert bleiben. Deaktiviere nur, wenn du das Add-on
130+
umkonfiguriert hast, um mit HA über einen öffentlichen HTTPS-Hostnamen mit
131+
selbstsigniertem Zertifikat oder Hostname-Mismatch zu sprechen.
132+
Deaktivieren schwächt die Transport-Sicherheit – lass an, außer du weißt,
133+
dass du es brauchst. Erfordert Neustart, um wirksam zu werden.
134+
tool_search_max_results:
135+
name: Tool Search Max-Ergebnisse
136+
description: >-
137+
Maximale Anzahl von Tools, die von ha_search_tools zurückgegeben werden,
138+
wenn Tool Search aktiviert ist. Niedrigere Werte (2-3) sparen
139+
Kontext-Tokens, könnten aber relevante Tools verpassen. Bereich: 2-10.
140+
Erfordert Neustart.
141+
disabled_tools:
142+
name: Deaktivierte Tools (kommagetrennt)
143+
description: >-
144+
Hier aufgelistete Tools sind zwangsweise aus und im Web-Settings-UI
145+
(Tools-Tab) gesperrt – sie können dort nicht wieder aktiviert werden, ohne
146+
diese Option zuerst zu entfernen. Ein kleiner Satz obligatorischer Tools
147+
(ha_search, ha_get_overview, ha_get_state, ha_report_issue,
148+
ha_manage_backup) kann nicht deaktiviert werden und läuft weiter, auch wenn
149+
hier aufgelistet. ha_get_skill_guide kann nur deaktiviert werden, während
150+
der strikte Best-Practices-Modus (enable_strict_mandatory_bps) aus ist.
151+
Kommagetrennte Tool-Namen (z.B. ha_call_event,ha_eval_template).
152+
pinned_tools:
153+
name: Angeheftete Tools (kommagetrennt)
154+
description: >-
155+
Hier aufgelistete Tools sind gesperrt angeheftet – sie erscheinen oben im
156+
Tools-Tab und können nicht vom Web-Settings-UI entfernt werden, ohne diese
157+
Option zuerst zu entfernen. Nützlich in Kombination mit Tool Search.
158+
Kommagetrennte Tool-Namen.

0 commit comments

Comments
 (0)