Skip to content

Live-Sprachwechsel für die gesamte UI, Kacheln auf andere Boards senden/duplizieren & Kachelfarben - #3

Merged
lukisch merged 1 commit into
masterfrom
claude/eager-galileo-f2rpor
Oct 6, 2026
Merged

lukisch merged 1 commit into
masterfrom
claude/eager-galileo-f2rpor

Conversation

@lukisch

@lukisch lukisch commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Zusammenfassung

Behebt die gemeldeten Probleme und ergänzt das gewünschte Feature:

1. Sprachwechsel greift jetzt überall (vorher nur Menüleiste)

  • Neues Modul src/i18n.py mit einem gemeinsamen Translator (tr()); MainWindow.change_language() sendet bus.languageChanged, Dashboard, Prompt-Baum und BoardManager beschriften sich per retranslate_ui() live neu (kein Neustart nötig).
  • Übersetzt sind jetzt: Tabellenköpfe des Prompt-Baums, Versions-Unterzeilen (Tooltips/Accessible-Names der Kopier-Buttons), Filterleiste, Board-Leiste, Kacheln, alle Kontextmenüs, Prompt-/Versions-/Darstellungs-/Kopier-Dialoge, Export- und Fehlermeldungen sowie die Tastenspalte der Shortcut-Tabelle.
  • 174 neue Keys in DE/EN/ES/ZH/JA/RU (299 Keys, 100 % Parität laut manage_translations.py --check).
  • Bugfix: Das Dashboard-Kontextmenü hat Export-Aktionen über den deutschen Menütext ausgewertet (chosen.text().startswith("Prompt exportieren")). Nach der Übersetzung hätten alle Exporte nichts mehr getan. Ausgewertet wird jetzt über das Aktionsobjekt.
  • TranslationSystem(auto_register=False) für die laufende App: Sie schreibt keine leeren Keys mehr in die gebündelte translations.json.

2. Regression: Kacheln auf andere Boards senden/duplizieren

  • Kachel-Kontextmenü: „Auf Board verschieben ▸“ und „Auf Board duplizieren ▸“ mit allen anderen Boards sowie „Neues Board …“.
  • Storage.transfer_item() (move_item_to_board / copy_item_to_board) aktualisiert Quell- und Ziel-Board in einem atomaren Schreibvorgang. Steht die Kachel schon auf dem Ziel-Board, wird mit einem Hinweis abgebrochen.
  • Dazu: Button „Umbenennen“ in der Board-Leiste und „Auf Board heften ▸“ im Kontextmenü des Prompt-Baums (per Tastatur bedienbare Alternative zu Drag & Drop).

3. Feature: Kachelfarbe pro Kachel

  • Kontextmenü „Kachelfarbe ▸“: Standardfarbe, 9 Vorgaben, „Eigene Farbe …“.
  • Gespeichert im optionalen Feld BoardItem.color (#RRGGBB), wird beim Verschieben/Duplizieren mitgenommen. Ungültige Werte werden streng geprüft und verworfen (keine QSS-Injection). Alte JSON-Dateien ohne das Feld laden unverändert; EXPORTFORMAT.md ist ergänzt (additives v1-Feld).

Zusätzlich gefunden

  • Das Board-Raster hatte fest 3 Spalten. Die Spaltenzahl richtet sich jetzt nach der Dock-Breite. Alte Kacheln werden beim Neuaufbau sofort ausgeblendet, vorher waren kurzzeitig überlappende Kacheln sichtbar.

Tests

  • Neu: tests/test_i18n_live_board_transfer_tile_colors_20261006.py mit 32 Tests: Live-Sprachwechsel inkl. Tabellenköpfen, Abdeckung aller tr()-Keys mit gleichen Platzhaltern in allen Sprachen, Verschieben/Duplizieren/Grenzfälle, Kachelfarben inkl. Prüfung ungültiger Werte, responsives Raster.
  • conftest.py: setzt die globale UI-Sprache nach jedem Test auf de zurück.
  • Gesamtsuite lokal: 325 passed, 3 skipped.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JjQnwo3ePCbGvz8VAZhnrD


Generated by Claude Code

- i18n: shared translator (src/i18n.py) + bus.languageChanged; dashboard
  table headers, filters, version sub-rows, board bar, tiles, context
  menus, dialogs, messages and shortcut table now switch live (DE/EN/ES/
  ZH/JA/RU, 174 new keys, 100% parity)
- fix: dashboard context menu dispatched exports by German menu text,
  which would have broken all exports after translation
- translator: auto_register flag; the running app no longer writes
  empty keys into the bundled translations.json
- regression fix: tile context menu "Move to board" / "Duplicate to
  board" (incl. "New board ..."), atomic Storage.transfer_item()
- board rename button, "Pin to board" in prompt tree context menu
- feature: per-tile color (BoardItem.color, validated #RRGGBB, presets
  + custom color), carried along on move/duplicate
- board grid: column count follows dock width; stale tiles hidden on
  rebuild (no overlapping ghost tiles)
- 32 new tests

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01JjQnwo3ePCbGvz8VAZhnrD
@github-actions

github-actions Bot commented Oct 6, 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 and why

Thanks for contributing!

@lukisch
lukisch merged commit 18be8a0 into master Oct 6, 2026
11 checks passed
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.

2 participants