[M5] Traduction à la volée (Bergamot / LibreTranslate / DeepL) #238

Closed
opened 2026-04-06 08:55:22 +00:00 by charles · 0 comments
Owner

Contexte

M5 — Bonus/QoL. Bouton "Traduire" sur chaque message, avec support de moteurs locaux (Bergamot, LibreTranslate) et cloud (DeepL).

Critères d'acceptation

  • Bouton "Traduire" dans le menu contextuel de chaque message texte
  • Trait TranslationEngine similaire à SttEngine : translate(text, source_lang, target_lang) -> Result<String>, health_check(), supported_languages()
  • Implémentation BergamotEngine (local, via WebAssembly ou subprocess)
  • Implémentation LibreTranslateEngine (local ou cloud, endpoint configurable)
  • Implémentation DeepLEngine (cloud, nécessite clé API via GNOME Secrets)
  • La traduction s'affiche inline sous le message original (widget dépliable)
  • Langue cible : langue de l'interface par défaut, configurable

Notes techniques

  • Implémenté dans crates/fractal-gtk/ directement (pas de crate séparé selon specs §7.1)
  • Voir specs §7.1 (SF-M5-01)
## Contexte M5 — Bonus/QoL. Bouton "Traduire" sur chaque message, avec support de moteurs locaux (Bergamot, LibreTranslate) et cloud (DeepL). ## Critères d'acceptation - [ ] Bouton "Traduire" dans le menu contextuel de chaque message texte - [ ] Trait `TranslationEngine` similaire à `SttEngine` : `translate(text, source_lang, target_lang) -> Result<String>`, `health_check()`, `supported_languages()` - [ ] Implémentation `BergamotEngine` (local, via WebAssembly ou subprocess) - [ ] Implémentation `LibreTranslateEngine` (local ou cloud, endpoint configurable) - [ ] Implémentation `DeepLEngine` (cloud, nécessite clé API via GNOME Secrets) - [ ] La traduction s'affiche inline sous le message original (widget dépliable) - [ ] Langue cible : langue de l'interface par défaut, configurable ## Notes techniques - Implémenté dans `crates/fractal-gtk/` directement (pas de crate séparé selon specs §7.1) - Voir specs §7.1 (SF-M5-01)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/my-fractal#238
No description provided.