Skip to content

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

Merged
lukisch merged 5 commits into
masterfrom
fix/codex-tooltip-translations-20261001
Oct 4, 2026
Merged

lukisch merged 5 commits 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

…ANGELOG zusammengeführt)

Beide Seiten ergänzten dieselben 73 Hilfetext-Schlüssel mit gleichwertigen
Übersetzungen; bei Konflikten gilt der Stand von master. Katalog: 367 Schlüssel,
manage_translations.py --check ohne Lücken.
@lukisch

lukisch commented Oct 4, 2026

Copy link
Copy Markdown
Collaborator Author

Review (Claude Sonnet 5.5, Zweitmodell nach D-20260902-002) — Empfehlung: merge-ready

Der Branch hatte Konflikte mit master (CHANGELOG, locales/translations.json: beide Seiten hatten dieselben 73 Hilfetext-Schlüssel mit gleichwertigen Übersetzungen ergänzt). Ich habe master per Merge-Commit (kein Force-Push) in den Branch geholt: Schlüssel vereinigt (367, jeder in allen 6 Sprachen), bei Doppelschlüsseln gilt master, CHANGELOG-Abschnitte beide erhalten, JSON validiert.

  • ruff sauber, manage_translations.py --check ohne Lücken, pytest -n 2: 416 passed, 2 skipped, 0 failed. Code-Diff gelesen: reine t(...)-Anbindung der Tooltips, Sprache wird beim Start aus den Einstellungen geladen (Fallback de bei unbekanntem Wert) und beim Speichern persistiert.
  • Keine Secrets/lokale Pfade.

Hinweis Reihenfolge: Nach dem Stapel #15 → #14 → #17 gibt es in settings_dialog.py (Tooltip der Löschabfrage) und translations.json einen kleinen Konflikt mit #17 — melden, dann gleiche ich ab. Reihenfolge: Stapel, dann #12, #16, #13.

Lukas Geiger added 3 commits October 4, 2026 14:22
settings_dialog: master-Variante (Papierkorb-Tooltip); translations.json vereinigt, bei Doppelschluesseln master; CHANGELOG beide Abschnitte.
@lukisch
lukisch merged commit 2285650 into master Oct 4, 2026
12 checks passed
@lukisch
lukisch deleted the fix/codex-tooltip-translations-20261001 branch October 4, 2026 15:19
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