Skip to content

fix(i18n): Sprache speichern und Hilfetexte übersetzen - #16

Open
lukisch wants to merge 1 commit into
masterfrom
fix/codex-tooltip-translations-20261001
Open

lukisch wants to merge 1 commit into
masterfrom
fix/codex-tooltip-translations-20261001

Conversation

@lukisch

@lukisch lukisch commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Die Sprachauswahl im Einstellungsdialog zeigte bisher immer Deutsch und speicherte Änderungen nicht. Beim Start wurde die gespeicherte Sprache außerdem nicht an den Translator übergeben. Der Dialog lädt und speichert die Auswahl jetzt; nach einem Neustart verwenden die angebundenen Hilfetexte und Qt-Standarddialoge diese Sprache. Ungültige gespeicherte Werte fallen auf Deutsch zurück.

  • 87 neue Katalogeinträge für DE/EN/ES/ZH/JA/RU: fehlende Hilfetexte, Fehlermeldungen, Beschriftungen und ein Hinweis auf den erforderlichen Neustart. Die 233 bisherigen Einträge bleiben unverändert.
  • Hilfetexte in neun GUI-Modulen an die Übersetzungsfunktion angebunden. Der Auditor erfasst alle expliziten Literal-t(...)-Aufrufe unabhängig von deutschen Sprachmerkmalen und meldet Katalogvollständigkeit präzise.
  • Weitere fest deutsche Menüs, Beschriftungen und Barrierefreiheitstexte bleiben offen. Dieser PR behauptet keine vollständige GUI-Lokalisierung und enthält kein Release oder Installationsupdate.

Validierung am Head ccb2334f7f7242d4f6a3a552570f48ac59098122: Gesamtsuite 391 bestanden / 2 Skips, 93,35 s, Prozess-Exit 0; gezielt 23 Sprach-/i18n-Tests, Exit 0; Ruff, Syntax- und Diff-Prüfung grün. Die Skips betreffen eine fehlende lokale Release-EXE und den PNG-Smoke unter einer nativen Qt-Plattform. Übersetzungsprüfung Exit 0: 320 vollständige Katalogeinträge, 157 direkte Literal-t-Schlüssel abgedeckt, echte Umlaute und keine Unicode-Ersatzzeichen.

Unabhängiges Review im separaten Worktree: Diff und alle 87 neuen Übersetzungen geprüft, 23 Sprach-/i18n-Tests bestanden (4,45 s, Prozess-Exit 0), keine offenen Delta-Findings. Ein Scanner-Befund zu fünf heuristisch übersehenen Schlüsseln wurde aufgenommen und durch einen Regressionstest abgesichert.

Der geschützte master benötigt weiterhin eine GitHub-Freigabe. Bei späterer Integration mit PR #14/#15 die Sprachinitialisierung und die dortigen GC-/Worker-Abschlusskorrekturen gemeinsam erhalten.

Finale CI am unveränderten Head: alle neun Matrixjobs erfolgreich, CodeQL erfolgreich.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

Welcome! Thanks for your first pull request in this repository.

A maintainer will review it soon. Please make sure:

  • Your changes are tested
  • Documentation is updated if needed
  • The PR description explains what changed and why

Thanks for contributing.

@lukisch lukisch left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zweitmodell-Review: CI grün (12/12), keine Blocker.

  • Tooltips laufen jetzt über t(...), die gespeicherte Sprache wird beim Start über configure_application_language() wiederhergestellt (ungültige oder nicht hashbare Werte fallen auf de zurück, per Test abgedeckt).
  • manage_translations.py erkennt t("...")-Aufrufe per AST. Das Skript parst nur und führt keinen Code aus.
  • Keine Credentials oder Nutzerpfade im Diff.

Hinweise: Der Test importiert from src.main import ..., während der Rest gui.*/core.* über src/ im Pfad nutzt. Das funktioniert hier, ist aber ein zweiter Importpfad für dasselbe Modul. Außerdem ändert dieser PR src/main.py und translations.json wie #13/#14/#15, bitte Merge-Reihenfolge beachten.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant