Skip to content

feat(sync,i18n): Sync-Pfad aus Kontextmenü vorbelegen, 75 Tier-2-Übersetzungen (T-20260926-999251371) - #13

Merged
lukisch merged 3 commits into
masterfrom
fix/T-20260926-sync-i18n
Oct 4, 2026
Merged

lukisch merged 3 commits into
masterfrom
fix/T-20260926-sync-i18n

Conversation

@lukisch

@lukisch lukisch commented Sep 28, 2026

Copy link
Copy Markdown
Collaborator

Ticket

Closes T-20260926-999251371.

Zusammenfassung

  1. Sync-Pfad im Kontextmenü vorbelegen:
    • Die Kontextaktion "Synchronisieren" (src/gui/browser/file_browser.py) öffnet nun das Sync-Panel und belegt ein neues Sync-Paar mit dem Verzeichnis des ausgewählten Elements als Quellordner vor (SyncPanel.add_pair_for_path).
    • Der Ordnername wird automatisch als Name des Paars vorgeschlagen.
  2. Tier-2-Übersetzungen vervollständigt:
    • Alle 75 vom Scanner gefundenen Tooltip-, Status-, Placeholder- und Fehlertexte in locales/translations.json für EN, ES, ZH, JA und RU vollständig übersetzt.
    • manage_translations.py --check meldet 0 Lücken (Exitcode 0, 308 Strings in 6 Sprachen).
  3. Tests & Verifikation:
    • tests/test_context_menu_actions.py: Neue Regressionstests test_context_menu_sync_prefills_source_folder und test_translations_complete_for_all_tier2_languages (9/9 passed).
    • ruff check .: 0 Fehler.
    • lint_mermaid.py: 0 Fehler in 21 Dateien.

Wartet gemäß Zwei-Modell-Regel (D-20260902-002) auf Review durch Claude/Codex.

…setzungen (T-20260926-999251371)

- "Synchronisieren" im Kontextmenü öffnet jetzt "Neues Sync-Paar" mit dem
  Ordner der Datei (bzw. dem Ordner selbst) als Quelle und Ordnernamen als Namen
  (SyncPanel.add_pair_for_path).
- locales/translations.json: 75 vom Scanner gefundene Tooltip-/Beschreibungs-
  strings in en, es, zh, ja, ru übersetzt; manage_translations.py --check ist grün.
- Regressionstests für Sync-Vorbelegung und Übersetzungsvollständigkeit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PTbvD41MCVmnQWaobvHfCk
@github-actions

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 (13/13), keine Blocker.

  • _sync_path öffnet nun den Sync-Dialog mit vorbefülltem Quellordner (add_pair_for_path). Defensive getattr/hasattr-Prüfungen vorhanden, Test deckt Quelle, Name und Titel ab.
  • translations.json: +600 Zeilen, alle 6 Sprachen vorhanden. Der neue Test test_translations_complete_for_all_tier2_languages sichert die Vollständigkeit.
  • Keine Credentials oder Nutzerpfade im Diff.

Hinweis: SyncPair(id="", ...) wird nur für den Dialog verwendet. Bitte sicherstellen, dass get_sync_pair() beim Akzeptieren eine echte ID vergibt (die aktuellen Tests brechen vor dem Speichern ab und prüfen das nicht).


Generated by Claude Code

…geführt)

master enthält die 75 Tier-2-Übersetzungen bereits; bei Konflikten gilt der
Stand von master. Katalog: 356 Schlüssel, JSON valide.
@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

Konflikt in locales/translations.json aufgelöst durch Merge-Commit von master in den Branch (kein Force-Push): master enthielt die 75 Tier-2-Übersetzungen bereits, bei Doppelschlüsseln gilt master. Der PR reduziert sich damit auf 3 Dateien (+47/-2): Kontextmenü „Sync" legt ein Sync-Paar mit dem Ordner als Quelle an (SyncPanel.add_pair_for_path) + Test.

  • ruff sauber, manage_translations.py --check ok (356 Schlüssel), pytest -n 2: 406 passed, 2 skipped, 0 failed. Diff gelesen; Dateien werden dabei nur als Vorbelegung genutzt, nichts wird geschrieben oder gelöscht.
  • Keine Secrets/lokale Pfade.

Reihenfolge: nach dem Stapel #15 → #14 → #17, dann #12, #16, #13 (kein Konflikt mit #16 zu erwarten, da der Locale-Anteil jetzt entfällt).

@lukisch
lukisch merged commit 8949114 into master Oct 4, 2026
12 checks passed
@lukisch
lukisch deleted the fix/T-20260926-sync-i18n branch October 4, 2026 15:13
lukisch pushed a commit that referenced this pull request Oct 4, 2026
settings_dialog: master-Variante (Papierkorb-Tooltip); translations.json vereinigt, bei Doppelschluesseln master; CHANGELOG beide Abschnitte.
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