feat(translation): quality pipeline overhaul + new features (audit 2026-08-29)
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m20s

Translation quality & format preservation:
- Word: merge adjacent same-format runs into one unit (sentence-level
  coherence like inline-tag handling); translate comments/balloons;
  dedupe textbox collection (was translated twice); RTL no longer
  overrides center/justify alignment; CJK/Arabic font hints (eastAsia/cs)
- PPTX: chart translations now actually reach the output file
  (ChartPart.blob is read-only — rewrite chart XML in the saved ZIP);
  CJK typeface hints (a:ea)
- Excel: sheet renames no longer break references — rewrite cell
  formulas (3D/quoted), defined names, data validations, cond. formats
- PDF: bold/italic honored (hebo/heit/hebi); table cells never merge;
  unchanged blocks left untouched (typography preserved, fixes duplicate
  hyperlinks); attempted/changed stats + route gate now cover PDF;
  CJK font paths; scanned PDFs via Mistral OCR (detection + admin settings)

Features:
- formality param (formal/informal) + automatic regional-variant prompts
- output_mode=bilingual docx (source above translation)
- per-user translation memory on Redis (falls back to LRU), context-hashed
- QA report + 0-100 confidence score in job status; L0 on by default
- OpenAI-compatible providers: whole chunk in ONE numbered-JSON request
  (~15x fewer calls) with per-item fallback; base prompt always present
  (custom prompt no longer replaces translation instructions)

Infra & marketing alignment:
- plan-based engine gating + vision gating (closes paid-engine leak);
  /providers/available filtered per plan; 107 languages exposed
- zh-CN/zh-TW validation fixed; libmagic disabled on Windows (native crash)
- admin: Mistral OCR settings + engine status dashboard; httpx<0.28 pin
  (TestClient breakage); Prometheus test fixture fixed
- marketing docs aligned with code (PDF+OCR, retention, engines, pricing)
- security: .env.ionos/.env.production/provider_settings.json removed

Tests: 1173 passed / 0 failed (6 network tests deselected: free Google
endpoint temporarily blocked from this machine)
This commit is contained in:
2026-08-29 18:38:09 +02:00
parent 992f13d53c
commit 526c87348f
87 changed files with 6996 additions and 1024 deletions

View File

@@ -0,0 +1,61 @@
# Spec de Production des Assets Visuels
> Checklist de production des assets marketing. Priorités : P0 = bloquant pour le lancement, P1 = semaine 1, P2 = semaine 2.
## P0 — Bloquant pour le lancement
### 1. Captures d'écran (8) — PNG, 1280×720 minimum, fond clair + sombre
| # | Capture | Usage | Source |
|---|---|---|---|
| 1 | Page d'accueil / hero (drop-zone) | Landing, réseaux | `office-translator-landing-page` |
| 2 | Upload en cours (fichier chargé, langues sélectionnées) | Démo du workflow | Idem |
| 3 | **Résultat côte à côte** (original vs traduit, format intact) | Preuve qualité | Backend + dashboard |
| 4 | Sélecteur de moteur (Google/DeepL/LLM) | Fonctionnalité clé | Idem |
| 5 | Interface glossaire | Différenciation | Dashboard |
| 6 | Dashboard (statistiques, quota) | Crédibilité | `/dashboard` |
| 7 | Page pricing (4 plans) | Conversion | Landing `#pricing` |
| 8 | Profil / historique | Confiance | Dashboard |
**Outil recommandé** : Playwright (script de capture automatisée pour les états dynamiques : upload en cours, progression de traduction).
### 2. Vidéo démo 6090 s (« How it works ») — MP4 1080p, sous-titres FR + EN
Script :
1. (05 s) Logo + tagline animé
2. (515 s) Problème : « Traduire un Excel de 50 pages sans casser le format ? »
3. (1540 s) Démo accélérée : upload → langues → moteur → traduction → téléchargement
4. (4055 s) Split-screen original/traduit, zoom sur tableaux et images intacts
5. (5565 s) CTA « Essayez gratuitement » + URL
### 3. OG Image — 1200×630 px
Logo + tagline + capture résultat côte à côte. Utilisée pour X, LinkedIn, Product Hunt, partages.
### 4. GIF workflow 15 s
Boucle upload → traduction → téléchargement (extraire de la vidéo démo). Pour le thread X et Product Hunt.
## P1 — Semaine 1
### 5. Logo
SVG version claire + sombre, icône seule + avec texte « Office Translator » / « Wordly.art ».
### 6. Favicon
32×32 et 16×16, ICO + PNG.
### 7. Bannière GitHub
1280×640 px pour le README du repo.
### 8. Infographie « Pourquoi Office Translator »
Comparatif avant/après (pipeline standard vs en place), 1 colonne, partageable.
### 9. Tutoriel YouTube 35 min
Screencast + voiceover : création de compte, upload, glossaires, moteurs, téléchargement.
## P2 — Semaine 2
### 10. Templates e-mails (5)
Bienvenue, « votre premier document », éducation glossaire, offre d'upgrade, réactivation.
### 11. Kit réseaux sociaux
12 visuels (4 avant/après, 4 astuces, 4 mises à jour) au format 1080×1350 (LinkedIn) + 1600×900 (X).
## Validation
Chaque asset P0 est validé par : (a) exactitude technique (pas de capture d'un état impossible), (b) lisibilité au format cible, (c) cohérence de la charte (couleurs `--accent` oklch(0.555 0.17 250), police Geist).