M16 komplett: kompletter Experte-Tab zweisprachig (alle 9 Menü-Familien)

L10n.swift translations-Dictionary auf 376 Einträge erweitert: Firewall,
Interfaces, IP, Routing, VPN, WLAN, Queues, System, Werkzeuge. Zwei
Dictionary-Key-Kollisionen gefunden und behoben (Swift-Dictionary-Literale
crashen zur Laufzeit bei doppelten Schlüsseln). 60 Tests grün, live bestätigt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDmUd93KxsYGr2kLTotWnG
This commit is contained in:
Kay
2026-09-15 16:07:26 +02:00
co-authored by Claude Sonnet 5
parent 0d16d05cb3
commit 7af550ae85
5 changed files with 510 additions and 21 deletions
+24 -13
View File
@@ -1023,23 +1023,34 @@ Unit-Tests grün (inkl. neuer `ExpertViewModelTests` und
SwiftUI die Abhängigkeit beim Umschalten sieht und neu rendert. Bisher
übersetzt: alle 6 Tab-Namen, alle 13 `RouterOSMenuCategory`-Werte, die
komplette Chrome von `ExpertView.swift`/`ExpertMenuDetailView.swift`
(Buttons, Dialoge, Platzhalter, Feld-Labels/-Hilfetexte) — inhaltlich
vollständig für den Experte-Tab, mit Ausnahme der noch nicht
übersetzten Katalog-Sektionen (siehe "Nächste Schritte"). **Build +
(Buttons, Dialoge, Platzhalter, Feld-Labels/-Hilfetexte). **Build +
60 Tests grün, vom Nutzer live in Xcode bestätigt** ("das sieht gut
aus").
aus"). Direkt danach den kompletten restlichen Katalog nachgezogen:
alle 9 Menü-Familien in `RouterOSSchemaCatalog.swift`
(Firewall/Interfaces/IP/Routing/VPN/WLAN/Queues/System/Werkzeuge) —
jeder `displayName`, jede `explanation`/`warning`, jedes Feld-Label
und jeder Hilfetext hat jetzt einen Eintrag in `L10n.swift`s
`translations`-Dictionary (376 Einträge). Beim Zusammenstellen auf
zwei Dictionary-Key-Kollisionen geachtet (Swift-Dictionary-Literale
crashen bei doppelten Schlüsseln zur Laufzeit statt beim Compilieren):
"Deaktiviert" und "Nur zur eigenen Wiedererkennung." kamen in zwei
Katalog-Familien mit identischem deutschen Text vor, jeweils den
zweiten Eintrag entfernt (dieselbe Übersetzung greift ohnehin für
beide Stellen). Build + 60 Tests grün, **vom Nutzer live in Xcode
bestätigt** ("funktioniert"). Damit ist der komplette Experte-Tab
zweisprachig; offen bleiben die übrigen fünf Tabs (Verbinden/
Einrichten/Übersicht/Geräte/Sicherungen), die noch auf festen
deutschen String-Literalen laufen.
## Nächste Schritte
1. M16 fortsetzen: restliche `RouterOSSchemaCatalog.swift`-Sektionen
(interfaceFamily, ipFamily, routingFamily, vpnFamily, wirelessFamily,
queueFamily, systemFamily, toolFamily) in
`Core/Localization/L10n.swift`s `translations`-Dictionary übersetzen —
Firewall-Familie ist bereits vollständig, mit dem Nutzer vereinbart
Tab für Tab weiterzumachen. Anschließend dieselbe `L10n.t(...)`-
Umstellung auf die übrigen Tabs (Verbinden/Einrichten/Geräte/
Sicherungen/Übersicht) ausrollen — dort läuft aktuell noch alles auf
festen deutschen String-Literalen ohne Sprachumschaltung.
1. ~~M16: restliche `RouterOSSchemaCatalog.swift`-Sektionen übersetzen~~
— erledigt, kompletter Experte-Tab (alle 9 Menü-Familien) jetzt
zweisprachig, live bestätigt. Offen: dieselbe `L10n.t(...)`-Umstellung
auf die übrigen Tabs (Verbinden/Einrichten/Geräte/Sicherungen/
Übersicht) ausrollen — dort läuft aktuell noch alles auf festen
deutschen String-Literalen ohne Sprachumschaltung, mit dem Nutzer
vereinbart Tab für Tab weiterzumachen.
2. WLAN (M5) an einem Gerät mit echtem WLAN-Chip nachholen.
2. Rest von M7: Fehlerzustände/Politur, REST-Schreibtest an einem Gerät
mit aktivem `www-ssl`.