BookTranslator
BookTranslator

Comment traduire un fichier RTF : ce qui survit et ce qui casse

Ce qu'il advient des paragraphes, tableaux, notes de bas de page, liens et mises en forme lorsqu'on traduit un fichier RTF, pourquoi les fichiers TextEdit nécessitent une étape supplémentaire, et un vérificateur gratuit.

BookTranslator

BookTranslator Team

15 min de lecture

Pour traduire un fichier RTF, téléversez le fichier .rtf complet dans un traducteur qui lit le RTF, puis vérifiez le résultat. BookTranslator accepte le RTF. Il lit le texte paragraphe par paragraphe, le traduit et vous fournit un nouveau fichier RTF ainsi qu'un fichier RTF bilingue. Coller le texte dans une fenêtre de chat ou un traducteur web fonctionne aussi pour une page ou deux, mais vous perdez le fichier et devez le reconstruire.

Il y a une chose à savoir avant de téléverser. Le fichier traduit conserve vos mots et vos paragraphes, mais pas votre mise en forme. Le gras, les titres, les polices, les tableaux, les liens et les images ne reviennent pas. La bonne méthode dépend donc du contenu de votre fichier et de l'application qui l'a enregistré. Un manuscrit simple enregistré depuis Word est le cas facile. Un fichier enregistré par TextEdit sur un Mac nécessite d'abord une étape supplémentaire, sinon tous les paragraphes se retrouvent collés les uns aux autres.

Nous avons créé trois fichiers de test et écrit un vérificateur gratuit qui montre ce que contient un fichier RTF avant de le téléverser et ce qui a changé après. Nous avons fait passer les fichiers de test dans une copie locale du code de lecture et d'écriture RTF utilisé par BookTranslator, avec un marqueur à la place d'un modèle, afin que vous puissiez voir exactement quel texte chaque fichier de test envoie pour traduction et comment le fichier revient.

Réponse rapide : ce qu'il advient de chaque partie du fichier

Partie du fichierCe qui est revenu dans notre testQue faire
Paragraphes terminés par \par (Word et la plupart des applications Windows)Un paragraphe traduit pour chacunRien
Paragraphes terminés par une barre oblique inverse et un saut de ligne (TextEdit, autres applications Mac)Le fichier entier envoyé comme un seul paragraphe, sans espace là où se trouvait chaque sautConvertissez d'abord le fichier (voir étape 2)
Gras, italique, titres, polices, couleurs, alignementSupprimés. Chaque paragraphe est en Times New Roman 12 pointsRemettez en forme dans Word, ou traduisez plutôt un DOCX
TableauxTexte des cellules assemblé sans espace : StopTimeNorth pier7:05Traduisez plutôt un DOCX
Notes de bas de pageLe texte de la note est ajouté à la fin de son paragraphe ; le numéro de la note a disparuReplacez les notes à la main, ou traduisez un DOCX
En-tête de pageDevient un paragraphe ordinaire à l'endroit où il se trouve dans le fichier (en haut, dans notre test)Supprimez-le ou conservez l'en-tête d'origine
LiensTexte du lien conservé et traduit, l'adresse web suppriméeAjoutez à nouveau les liens
ImagesSuppriméesConservez le fichier d'origine pour les illustrations
Caractères accentués et non latins (café, 日本)Lus et écrits correctementRien
Toute suite de 20 caractères ou plus parmi 0–9 et a–f (longs numéros de référence, hachages)Supprimée avant la traductionVérifiez leur présence après la traduction (le vérificateur s'en charge)

Le reste de ce guide montre d'où vient chaque ligne et ce qu'il faut faire à ce sujet.

Étape 1 : Vérifiez quel type de RTF vous avez

Le RTF est un format texte contenant des codes de mise en forme. Ouvrez le fichier dans un éditeur de texte brut, ou exécutez head -c 120 yourfile.rtf dans un terminal, et regardez la première ligne.

  • S'il contient \cocoartf, le fichier a été enregistré par le système de texte d'Apple : TextEdit, ou une autre application Mac qui l'utilise.
  • S'il contient \rtf1\ansi et pas \cocoartf, il provient très probablement de Word, LibreOffice, WordPad ou de l'exportation d'une application d'écriture.

La différence est importante car les deux types terminent un paragraphe de manières différentes. Word et la plupart des autres traitements de texte écrivent le code \par à la fin de chaque paragraphe. Le système de texte d'Apple écrit une simple barre oblique inverse à la fin de la ligne à la place. Les deux sont du RTF valide : la spécification RTF originale de Microsoft de 1989 (copie miroir) indique qu'une barre oblique inverse suivie d'un saut de ligne est traitée comme \par, et le lecteur d'Apple affiche notre fichier test TextEdit sous forme de paragraphes séparés. Le lecteur RTF de BookTranslator ne divise les paragraphes que sur \par. Nous l'avons vérifié dans son code le 3 novembre 2026 et dans le test ci-dessous.

Le vérificateur vous indique quel type vous avez, et ce que contient d'autre le fichier. Il nécessite Python 3 et rien d'autre :

python3 check_rtf.py sample-word-style.rtf

Sur notre fichier test de style Word, il a affiché :

== sample-word-style.rtf
  par_breaks: 7
  table_cells: 4
  table_rows: 2
  hyperlinks: 1
  fields: 1
  bold_on: 2
  italic_on: 1
  page_breaks: 1
  fonts: 2
  footnotes: 1
  headers: 1
  images: 1
  visible_paragraphs: 7
  WARN 4 table cells: check that cell boundaries survive.
  WARN 1 footnotes: check where this text ends up in the output.
  WARN 1 headers: check where this text ends up in the output.
  WARN 1 hyperlinks: the link text may survive without the URL.
  WARN 1 images: keep the original for the artwork.

Sur le fichier TextEdit, le premier avertissement était celui-ci :

  WARN Paragraphs end with a backslash + line break (TextEdit/Cocoa style), not \par. Tools that only split on \par will see one long paragraph.

Si le vérificateur n'affiche aucun avertissement, vos paragraphes, vos chiffres et votre texte devraient être conservés. Le gras, les titres et les listes ne déclenchent pas d'avertissement, mais ils sont tout de même supprimés via la conversion RTF ; reportez-vous à l'étape 2 si vous en avez besoin.

Ce que nos fichiers de test ont donné

Nous avons créé trois petits fichiers. Tous, ainsi que tout ce qui en est ressorti, se trouvent dans le dossier des fichiers de test.

  • sample-word-style.rtf est écrit à la main dans le style que Word utilise pour le RTF : des sauts \par, un en-tête de page, une note de bas de page, un lien, un tableau de deux par deux, une petite image, un saut de page, café écrit comme un caractère de page de code, et 日本 écrit sous forme de codes Unicode.
  • sample-textedit.rtf a été créé sur un Mac avec textutil -convert rtf, qui utilise le même système de texte que TextEdit. Il contient un titre, des mots en gras et en italique, un lien, une liste à puces, un tableau et une ligne avec des {braces} et des barres obliques inverses.
  • sample-long-numbers.rtf contient une référence de commande à 20 chiffres, un hash de commit de 40 caractères et un numéro de téléphone.

Nous avons copié les fonctions de lecture et d'écriture RTF du code backend de BookTranslator le 3 novembre 2026 et les avons exécutées sur chaque fichier. Aucun modèle n'a été utilisé. Chaque paragraphe qui aurait été envoyé pour traduction a été remplacé par [ZH] suivi du texte original. Cela montre exactement ce qu'un modèle recevrait et comment le fichier est reconstruit, sans le bruit d'une vraie traduction.

Le fichier de style Word : six paragraphes propres, avec trois surprises

Le fichier est revenu sous forme de six paragraphes traduits, dans cet ordre :

[ZH] Harbor Notes - Draft 2
[ZH] Chapter 3: The Harbor
[ZH] The ferry left at 6:40, an hour before the café opened. Timetable from the 1998 edition.
[ZH] Read the harbor map before you go.
[ZH] StopTimeNorth pier7:05
[ZH] Chapter 4: 日本 (Nihon)

L'essentiel correspond à ce que vous attendez. Chaque paragraphe a été envoyé une fois, dans l'ordre, et café et 日本 ont survécu au passage des codes RTF au texte et retour. Les trois surprises :

  1. L'en-tête de page est devenu le premier paragraphe. « Harbor Notes - Draft 2 » était un en-tête imprimé en haut de chaque page. Dans le fichier traduit, c'est du texte de corps.
  2. La note de bas de page a été intégrée à la phrase. « Timetable from the 1998 edition. » était une note de bas de page sur « opened ». Elle suit désormais la phrase comme si elle en faisait partie, et le numéro de la note a disparu. Un modèle qui traduit ce paragraphe voit un seul texte continu, et vous devez retrouver et replacer la note à la main.
  3. Les cellules du tableau ont fusionné. Les quatre cellules « Stop », « Time », « North pier » et « 7:05 » sont devenues la chaîne unique StopTimeNorth pier7:05. Un modèle peut la couper au mauvais endroit, ou traduire « StopTime » comme un seul mot.

Le fichier traduit n'a ni en-tête, ni note de bas de page, ni tableau, ni adresse de lien, ni image, ni gras. Le mode comparaison du vérificateur à l'étape 4 liste tout cela.

Le fichier TextEdit : un seul paragraphe

Le fichier TextEdit contient huit paragraphes visibles. Tous ont été envoyés pour traduction comme un seul paragraphe :

Chapter 3: The HarborThe ferry left at 6:40, an hour before the market opened.Read the harbor map before you go.	•	Bring cash	•	Keep your ticketStopTimeNorth pier7:05Ana said: "We'll wait {here}" and C:\Users\ana\notes stayed open.

Il n'y a pas d'espace là où chaque paragraphe se terminait : « HarborThe », « opened.Read ». Le fichier traduit est également un seul paragraphe. Notre fichier de test est court. Dans un vrai livre enregistré par TextEdit, le fichier entier devient un seul paragraphe. Avant la traduction, BookTranslator découpe les paragraphes très longs en morceaux d'environ 6 000 caractères (environ 2 000 pour le chinois, le japonais ou le coréen), aux fins de phrases lorsqu'il peut en trouver. Ces coupures tombent encore aux fins de phrases à l'intérieur des paragraphes, mais jamais aux sauts de paragraphe manquants, car « opened.Read » ne ressemble pas à une fin de phrase. Lorsque chaque paragraphe est une phrase unique, comme les lignes de dialogue ou les éléments de liste, les coupures peuvent tomber aux virgules ou aux espaces. Le modèle ne voit jamais où se trouvaient les paragraphes, et vous récupérez un mur de texte.

Les accolades et les barres obliques inverses de la dernière phrase ont bien survécu. Elles ont été correctement échappées à l'écriture, donc le fichier s'ouvre toujours.

Les nombres longs : supprimés avant la traduction

Le troisième fichier est revenu comme ceci :

[ZH] Your order reference is  and must be quoted in full.
[ZH] The fix landed in commit  last week.
[ZH] Call +44 20 7946 0958 before 5 pm.

La référence de commande et le hash de commit ont disparu, avec un double espace à chaque emplacement. Le lecteur supprime toute suite de 20 caractères ou plus composée uniquement des chiffres 0–9 et des lettres a–f, car c'est à cela que ressemblent les données d'image intégrées en RTF. Un nombre long dans votre texte lui apparaît de la même façon. Le numéro de téléphone a survécu parce que ses groupes de chiffres sont courts.

Cela concerne surtout les contrats, les factures, les notes techniques et les enregistrements contenant de longs numéros de référence. Le vérificateur liste chaque chaîne de ce type dans votre fichier source et vous indique si l'une d'elles manque après la traduction.

Étape 2 : Choisissez la bonne méthode pour votre fichier

Utilisez la sortie du vérificateur pour en choisir une :

Ce que contient votre fichierMeilleure approchePourquoi
Paragraphes simples, issus de Word ou d’une autre application \parImportez le RTFLes paragraphes sont restitués un pour un ; vous ne perdez que la mise en forme dont vous n’aviez pas besoin
Paragraphes simples, issus de TextEdit (\cocoartf)Convertissez d’abord en DOCX ou TXT, puis importez ce fichierLe lecteur RTF enverrait tout le fichier comme un seul paragraphe
Titres, tableaux, notes de bas de page ou mise en forme à conserverEnregistrez au format DOCX dans Word ou LibreOffice, puis importez le DOCXLa voie RTF reconstruit un fichier simple ; le DOCX passe par le flux de travail Word
Numéros de référence longs ou hachagesL’une ou l’autre voie, puis vérifiezConfirmez que chaque numéro a bien été restitué

Pour convertir un fichier TextEdit sur un Mac, ouvrez le Terminal et exécutez l’une de ces commandes :

textutil -convert docx notes.rtf
textutil -convert txt notes.rtf

La première écrit notes.docx à côté de l’original. Lorsque nous avons converti notre fichier de test TextEdit de cette façon, le DOCX contenait un paragraphe distinct pour chaque ligne et conservait les mots en gras et en italique. Il ne conservait pas le tableau, qui est devenu des paragraphes séparés, ni le lien. Si vous en avez besoin, ouvrez le fichier dans Word ou LibreOffice et enregistrez-le au format DOCX depuis là, puis vérifiez le tableau avant de l’importer. La seconde commande écrit un fichier texte brut. Utilisez-la lorsque vous n’avez besoin que du texte ; notre guide de traduction de texte brut indique ce qu’il faut vérifier dans un fichier TXT.

Pour un document Word où les tableaux, les styles et les en-têtes comptent, consultez notre guide sur la traduction d’un document Word tout en conservant la mise en forme. La FAQ de BookTranslator sur sa page de traduction de documents donne le même conseil pour les anciens fichiers Word .doc : elle traduit leur texte et renvoie un fichier RTF, et recommande de les enregistrer d’abord au format DOCX lorsque les images, les tableaux ou la mise en page doivent être conservés.

Étape 3 : Traduire l’intégralité du fichier

Importez le fichier, choisissez la langue cible et vérifiez le prix avant de payer. BookTranslator traduit les paragraphes dans l’ordre. Pour un fichier long comportant des noms et des termes récurrents, activez l’option Glossaire automatique avant de payer, afin qu’ils soient traduits de la même manière partout.

Vous obtenez deux fichiers :

  • Le fichier traduit : chaque paragraphe dans la langue cible.
  • Le fichier bilingue : chaque paragraphe original suivi de sa traduction. C’est le fichier le plus rapide à relire, car vous pouvez lire les deux côte à côte et repérer un paragraphe qui a été sauté ou mal interprété. Dans le fichier bilingue de notre test TextEdit, le document entier apparaît une fois en anglais, puis une fois avec le marqueur, ce qui est une autre façon de constater le problème du paragraphe unique.

Les deux fichiers sont écrits sous forme de paragraphes simples en Times New Roman 12 points. Les langues cibles s’écrivant de droite à gauche, comme l’arabe et l’hébreu, sont marquées comme paragraphes de droite à gauche. Ouvrez les fichiers dans Word, LibreOffice ou TextEdit pour les lire et les mettre en forme.

Étape 4 : Vérifier le fichier traduit

Lancez le vérificateur avec le fichier source et la traduction :

python3 check_rtf.py sample-word-style.rtf sample-word-style-translated.rtf

Pour notre fichier de type Word, la section de comparaison a affiché :

== compare
  CHANGED table_cells: 4 -> 0
  CHANGED footnotes: 1 -> 0
  CHANGED headers: 1 -> 0
  CHANGED hyperlinks: 1 -> 0
  CHANGED images: 1 -> 0
  CHANGED bold_on: 2 -> 0
  CHANGED italic_on: 1 -> 0
  CHANGED page_breaks: 1 -> 0
  CHANGED visible_paragraphs: 7 -> 6

Chaque ligne est un point à examiner. Ici, le nombre de paragraphes est passé de sept à six parce que les lignes du tableau ont été fusionnées en un seul paragraphe. Pour le fichier des grands nombres, deux lignes MISSING ont été affichées, une pour chaque nombre supprimé. Pour le fichier TextEdit, visible_paragraphs: 8 -> 1 indique qu'il faut revenir à l'étape 2.

Le vérificateur compte la structure. Il ne peut pas vous dire si la traduction est bonne. Lisez le fichier bilingue, au moins les premières pages et tout passage contenant des noms, des nombres ou des dialogues.

Problèmes courants

Mon RTF traduit ne forme qu'un seul long paragraphe. Votre fichier source provient très probablement de TextEdit ou d'une autre application Mac. Lancez le vérificateur sur l'original. S'il signale des sauts de ligne par barre oblique inverse, convertissez le fichier en DOCX ou en TXT et traduisez cette version à la place.

Certains mots sont collés, comme « StopTime ». Il s'agissait de cellules de tableau. Les tableaux RTF perdent leurs limites de cellules avec cette méthode. Traduisez une copie DOCX du fichier si le tableau est important.

Une phrase se termine par un texte qui ne lui appartient pas. C'est probablement une note de bas de page. Retrouvez-la dans l'original, puis replacez sa traduction dans une note de bas de page dans Word.

Un nombre manque dans la traduction. S'il comportait 20 caractères ou plus parmi 0–9 et a–f, il a été supprimé avant la traduction. Recopiez-le depuis l'original. Les lignes MISSING du vérificateur les listent tous.

La mise en forme a disparu. C'est attendu avec la méthode RTF : le fichier est reconstruit avec des paragraphes simples. Si vous avez besoin de la mise en forme, traduisez une copie DOCX ou réappliquez les styles après la traduction. Notre comparaison des outils de traduction DOCX indique quels outils conservent la mise en forme Word et avec quelle efficacité.

Puis-je obtenir le résultat au format DOCX à la place ? Pas à partir d'un fichier RTF importé ; on entre du RTF, on ressort du RTF. Convertissez l'original en DOCX avant de l'importer, et le résultat sera renvoyé au format DOCX.

Articles connexes