fix(i18n): Hauptfenster, Tray und Notifications vollständig übersetzen (Paket-G-Nachzug) - #15
Merged
Merged
Conversation
…n (Paket-G-Nachzug) Paket G hatte mehrere UI-Call-Sites bei der String-Extraktion ausgelassen, sodass die Oberfläche trotz Sprachwahl "English" teils deutsch blieb. Der i18n-Completeness-Test prüft nur Key-Parität zwischen de/en, nicht ob alle sichtbaren Strings durch t() laufen — darum unbemerkt durch die CI. Übersetzt (über t(), neue Keys in app/i18n.py, de==en je 149): - Hauptfenster (main_window.py): Status "Bereit/Fehler/Aufnahme läuft…/ Transkribiere…/Verarbeite mit KI…", Buttons "Verwerfen/Diktat", History- Button mit Zähler, Tooltips "Vorlesen/Einstellungen". - Tray (blitztext_linux.py): Actions "Diktat-Modus/Verlauf…/Vorlesen…", Tray-Tooltips (Fehler/Aufnahme/Transkribiere/Verarbeite), Verlauf- Fenstertitel, Diktat-/Fehler-Notifications, Aufnahme-Fehlermeldungen. Nicht angefasst: Start/Stopp-Text des Shutter-Buttons (reiner Test-/Logik- Text, gemalt wird der Glyph), Logger-Ausgaben, Docstrings. Regressionsschutz: test_smoke_launch prüft beim Offscreen-Boot je Sprache (de/en) jetzt zusätzlich, dass Hauptfenster- und Tray-Texte der aktiven Sprache entsprechen — fängt künftige vergessene Call-Sites ab. Assertions bewusst im bestehenden Boot (kein zweiter BlitztextApp/QObject-Leak). Volle Suite 262 grün (offscreen, WHISPER_GUI_TESTS=1), stabil in deterministischer und randomisierter Reihenfolge.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1819b94824
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Paket G (#14) hatte beim String-Extraktion-Schritt mehrere UI-Call-Sites ausgelassen. Folge: Bei UI-Sprache English blieben Hauptfenster, Teile des Tray-Menüs und Notifications deutsch (vom Nutzer live verifiziert nach Umschalten + Neustart).
Warum durch CI gerutscht: Der i18n-Completeness-Test prüft nur Key-Parität zwischen
de/en, nicht ob alle sichtbaren Strings tatsächlich durcht()laufen.Fix
Alle übersehenen Call-Sites über
t()geführt, neue Keys inapp/i18n.pyergänzt (de == en, je 149 Keys,missing_keys()leer).Hauptfenster (
app/main_window.py){count})Tray (
app/blitztext_linux.py)Bewusst nicht angefasst:
setText("Start"/"Stopp")des Shutter-Buttons (reiner Test-/Logik-Text, sichtbar ist der gemalte Glyph), Logger-Ausgaben, Docstrings.Regressionsschutz
tests/test_smoke_launch.pyprüft beim Offscreen-Boot je Sprache (de/en) jetzt zusätzlich, dass Hauptfenster- und Tray-Texte der aktiven Sprache entsprechen — fängt künftige vergessene Call-Sites ab. Assertions liegen bewusst im bestehenden Boot (kein zweiterBlitztextApp→ keine QObject-Leaks in Folgetests; in deterministischer Order verifiziert).Test Plan
missing_keys()leer, de/en je 149 KeysQT_QPA_PLATFORM=offscreen WHISPER_GUI_TESTS=1)-p no:randomly) und randomisierter Reihenfolge (je mehrfach)🤖 Generated with Claude Code