[M5] Traduction à la volée des messages (TranslationEngine trait) #59

Closed
opened 2026-04-06 01:37:27 +00:00 by charles · 0 comments
Owner

Contexte

Bouton "Traduire" sur chaque message, avec support de moteurs locaux (Bergamot/LibreTranslate) et cloud (DeepL), via un trait analogue à SttEngine.

Critères d'acceptation

  • Trait TranslationEngine (#[async_trait]) : name(), translate(text, source, target), health_check(), supported_pairs()
  • BergamotEngine : via subprocess ou lib native, modèles téléchargeables localement
  • LibreTranslateEngine : API REST configurable (self-hosted ou public)
  • DeepLEngine : API cloud avec clé API
  • Bouton "Traduire" sous chaque message (discret, icône uniquement)
  • Traduction affichée en inline sous le message original, avec indicateur de langue source détectée
  • Cache SQLite des traductions (clé = event_id + target_language)

Notes techniques

  • Dépend de : #2 (fractal-ext) — implémente le trait Extension
  • Architecture identique à M1 (SttEngine) : même pattern trait + impls + cache
  • Bergamot models stockés dans ~/.local/share/fractal-plus/models/bergamot-*/
  • Page préférences : choix du moteur + langue cible par défaut
## Contexte Bouton "Traduire" sur chaque message, avec support de moteurs locaux (Bergamot/LibreTranslate) et cloud (DeepL), via un trait analogue à `SttEngine`. ## Critères d'acceptation - [ ] Trait `TranslationEngine` (`#[async_trait]`) : `name()`, `translate(text, source, target)`, `health_check()`, `supported_pairs()` - [ ] `BergamotEngine` : via subprocess ou lib native, modèles téléchargeables localement - [ ] `LibreTranslateEngine` : API REST configurable (self-hosted ou public) - [ ] `DeepLEngine` : API cloud avec clé API - [ ] Bouton "Traduire" sous chaque message (discret, icône uniquement) - [ ] Traduction affichée en inline sous le message original, avec indicateur de langue source détectée - [ ] Cache SQLite des traductions (clé = `event_id + target_language`) ## Notes techniques - Dépend de : #2 (fractal-ext) — implémente le trait `Extension` - Architecture identique à M1 (`SttEngine`) : même pattern trait + impls + cache - Bergamot models stockés dans `~/.local/share/fractal-plus/models/bergamot-*/` - Page préférences : choix du moteur + langue cible par défaut
Sign in to join this conversation.
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#59
No description provided.