feat(landing): nouvelle animation d'accueil — une recette déclinée dans les quatre formats
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m34s

Le nouveau dessin montre une tarte aux pommes, comprise de tous,
présentée successivement en document Word, tableau Excel, présentation
PowerPoint et PDF : une onde de traduction traverse chaque document,
la langue change, la mise en page reste rigoureusement identique.
Contenu universel, plus aucun jargon de spécialiste.

Également : deux nettoyages DeepL restés non envoyés (commentaires
dans database/models.py et translators/word_translator.py).

Vérifié : construction réussie, 14/14 tests, aucune erreur d'analyse,
mode sombre et « réduire les animations » pris en charge.
This commit is contained in:
2026-08-30 23:49:05 +02:00
parent 3f45ccdf50
commit d008baf81b
3 changed files with 965 additions and 166 deletions

View File

@@ -165,7 +165,7 @@ class Translation(Base):
# Translation details # Translation details
source_language = Column(String(10), default="auto") source_language = Column(String(10), default="auto")
target_language = Column(String(10), nullable=False) target_language = Column(String(10), nullable=False)
provider = Column(String(50), nullable=False) # google, deepl, ollama, etc. provider = Column(String(50), nullable=False) # google, ollama, etc.
# Processing info # Processing info
status = Column( status = Column(

File diff suppressed because it is too large Load Diff

View File

@@ -1378,7 +1378,7 @@ class WordTranslator:
is translated whole — not fragment by fragment — and the result is is translated whole — not fragment by fragment — and the result is
written into the first run while the sibling runs are blanked. written into the first run while the sibling runs are blanked.
This is what keeps mid-sentence bold spans ("This is *very* This is what keeps mid-sentence bold spans ("This is *very*
important") coherent in the target language, like DeepL's inline important") coherent in the target language, keeping inline
tag handling. tag handling.
Note: python-docx's `paragraph.runs` only returns DIRECT child <w:r> Note: python-docx's `paragraph.runs` only returns DIRECT child <w:r>