Comment traduire une archive de bande dessinée CBZ ou CBR sans désorganiser l'ordre des pages
Corrigez l'ordre des pages, les couvertures, les fichiers inutiles et les paramètres droite-à-gauche avant de traduire une bande dessinée CBZ ou CBR. Comprend un vérificateur d'archive gratuit et un fichier d'exemple.

Un fichier CBZ est une archive ZIP d'images de pages, et un fichier CBR est le même principe mais compressé avec RAR. Rien à l'intérieur de l'archive n'indique « ceci est la page 2 ». Les lecteurs de bandes dessinées, comme les outils de traduction, déterminent l'ordre des pages en triant les noms de fichiers. Ainsi, la plupart des problèmes avec une bande dessinée traduite commencent avant la traduction. Une couverture se retrouve à la fin, la page 10 apparaît après la page 1, ou un manga qui se lit de droite à gauche s'ouvre de gauche à droite.
Effectuez trois vérifications avant de téléverser. Assurez-vous que les noms des pages se trient dans le bon ordre, supprimez tout ce qui n'est pas une page, et conservez le fichier ComicInfo.xml si l'archive en contient un. Ensuite, téléversez l'archive au format CBZ. Nous avons écrit un vérificateur d'archive de bande dessinée gratuit qui effectue ces trois vérifications en une seconde et peut réempaqueter le fichier avec des noms de pages sûrs.
Réponse rapide : que faire de votre archive
| Ce que vous avez | Ce qu'il faut faire avant de téléverser |
|---|---|
Un fichier .cbz dont les pages sont nommées 001.jpg, 002.jpg … | Téléversez-le tel quel |
Un fichier .cbz avec des pages nommées 1.jpg … 10.jpg, ou un fichier cover.jpg non numéroté | Réempaquetez-le avec des noms complétés par des zéros (étape 2) |
Un fichier .cbr, .cb7 ou .cbt | Extrayez-le, puis réempaquetez le dossier en .cbz (étape 3) |
| Pages enregistrées en AVIF, JPEG XL ou HEIC | Convertissez d'abord ces pages en PNG, JPEG ou WebP |
| Un manga qui doit se lire de droite à gauche | Conservez son fichier ComicInfo.xml et mettez à jour le champ de langue après la traduction |
| Une bande dessinée achetée sur une application de boutique | Vérifiez que vous disposez bien d'un fichier sans DRM que vous êtes autorisé à utiliser |
Les sections ci-dessous expliquent chaque ligne.
Pourquoi l'ordre des pages se casse : les lecteurs trient les noms de fichiers
Il existe deux méthodes courantes pour trier les noms de fichiers, et elles divergent dès que les numéros de page n'ont pas la même longueur :
- Un tri caractère par caractère compare les noms un caractère à la fois.
10.jpgcommence par1, il passe donc avant2.jpg. Vous obtenez l'ordre 1, 10, 11, 12, 2, 3 … - Un tri naturel interprète une suite de chiffres comme un nombre, donc
2passe avant10. Vous obtenez 1, 2, 3 … 10, 11, 12.
De nombreux lecteurs de bandes dessinées trient naturellement, mais vous ne pouvez pas compter là-dessus, et vous ne pouvez pas contrôler dans quel lecteur le fichier traduit sera ouvert. La solution qui fonctionne partout consiste à compléter les numéros avec des zéros : 001.jpg … 010.jpg se trient de la même manière avec l'une ou l'autre méthode.
Deux autres problèmes de nommage sont faciles à manquer :
- Une couverture non numérotée se trie en dernier. Les deux méthodes de tri placent les chiffres avant les lettres. Dans une archive contenant
cover.jpget001.jpg…024.jpg, la couverture devient la dernière page. - Les dossiers de chapitres sont triés comme faisant partie du nom.
Chapter 10/01.jpgetChapter 2/01.jpgcomparent d'abord les noms de dossiers, donc les numéros de dossiers demandent le même soin que les numéros de pages.
BookTranslator ordonne les pages .cbz selon un tri naturel et insensible à la casse, et ignore les entrées indésirables telles que les dossiers __MACOSX, les fichiers cachés comme .DS_Store et Thumbs.db. Ainsi, la page 2 précède la page 10 pendant la traduction du fichier. Les pages traduites conservent toutefois leurs noms d'origine. Si vous téléversez 1.jpg … 12.jpg, vous récupérez 1.png … 12.png, et un lecteur qui utilise un tri simple les mélangera encore. Renommer avant le téléversement corrige l'ordre pour tous les lecteurs.
Étape 1 : Vérifier l'archive
Téléchargez check_comic_archive.py et exécutez-le sur votre bande dessinée. Il nécessite Python 3.8 ou une version ultérieure et rien d'autre, et il ne téléverse rien :
python3 check_comic_archive.py "My Comic.cbz"
Pour montrer ce qu'il détecte, nous avons créé une petite archive d'exemple avec des problèmes que nous voyons souvent dans les fichiers de bandes dessinées. Elle contient douze pages numérotées sans zéros de remplissage, une cover.png non numérotée, une double page, un fichier AVIF, des entrées indésirables macOS et un ComicInfo.xml marqué comme manga de droite à gauche. Le README explique comment la reconstruire avec make_test_comic.py. Voici la fin du rapport :
Junk entries (skipped): .DS_Store, __MACOSX/._1.png
Other files (carried over unchanged): ComicInfo.xml
ComicInfo.xml:
Manga (reading direction): YesAndRightToLeft
Right-to-left is stored here, not in the images. Keep this file in the archive so readers that honor it still see it.
LanguageISO: ja. Update it after translation; a copied ComicInfo.xml still names the source language.
Page table: 13 entries for 13 page images.
13 entries record ImageSize/ImageWidth. These describe the original files and no longer match once pages are replaced.
Check before uploading:
- A plain character sort puts '10.png' at position 2, where natural sort has '2.png'. A reader without natural sorting will show pages out of order.
- Pages without a number in the file name: 'cover.png' at 13. Digits sort before letters, so an unnumbered cover usually ends up last.
- Page numbers use [1, 2] digits. Zero-pad them (001, 002, ... 010) so every reader agrees on the order.
- Images in a format that is not treated as a page here: 13.avif. Convert them to PNG, JPEG or WebP, or they stay untranslated.
Au-dessus, le rapport liste chaque page dans l'ordre de lecture avec sa taille. Il signale une page plus large que haute comme une double page, et une page plus de trois fois plus haute que large comme une bande verticale, à la manière d'un chapitre de webtoon. Ce sont les pages à examiner en premier lorsque la traduction revient.
Pour les noms de fichiers ASCII simples, le tri naturel du vérificateur suit la même comparaison que BookTranslator utilise pour les pages .cbz, y compris les dossiers de chapitres, les majuscules et minuscules mélangées, les espaces, les traits d'union et les traits de soulignement. Les noms contenant des lettres accentuées ou des kana japonais peuvent être triés différemment selon les outils, ce qui est une raison de plus de renommer les pages en numéros simples complétés par des zéros.
Étape 2 : Reconditionner avec des noms de pages sûrs
Si le rapport signale des problèmes d'ordre, examinez d'abord l'ordre imprimé, puis reconditionnez :
python3 check_comic_archive.py "My Comic.cbz" --first cover.png --repack "My Comic fixed.cbz"
--repack écrit un nouveau CBZ. Les pages sont renommées 0001, 0002 … dans l'ordre affiché, les entrées indésirables sont supprimées, et tous les autres fichiers, y compris ComicInfo.xml, sont copiés sans modification. --first déplace une page au début, ce qui permet de remettre une couverture non numérotée à sa place. Vous pouvez le répéter pour une seconde page, comme une page de titre. Le renommage fige l'ordre, donc corrigez-le avant de reconditionner, pas après. Si l'archive contient une table de pages ComicInfo.xml, déplacer des pages décale leurs positions ; le vérificateur vous rappelle de contrôler ensuite des entrées telles que le marqueur de couverture avant.
Sur l'archive d'exemple, le fichier reconditionné contient les pages 0001.png … 0013.png avec la couverture en premier et aucune entrée indésirable. Le seul avertissement restant concerne le fichier AVIF. Le vérificateur ne peut pas convertir les images ; ouvrez cette page dans un éditeur d'images et exportez-la en PNG, JPEG ou WebP. Les formats comme AVIF, JPEG XL et HEIC ne sont pas traités comme des pages. Ils sont copiés tels quels dans le résultat, non traduits.
Étape 3 : Convertir un fichier CBR, CB7 ou CBT en CBZ
Un fichier .cbr est une archive RAR, un .cb7 est une archive 7z, et un .cbt est une archive tar. Renommer un .cbr en .cbz ne le convertit pas. Le vérificateur lit les premiers octets du fichier. Pour une archive RAR, 7z ou tar, il s'arrête et vous indique laquelle vous avez. S'il affiche à la place un rapport de pages normal, le fichier est déjà une archive ZIP sous un autre nom : renommez-le en .cbz et revenez à l'étape 1.
Pour convertir une véritable archive RAR, 7z ou tar, extrayez-la dans un dossier avec 7-Zip ou The Unarchiver. Puis pointez le vérificateur vers ce dossier :
7z x "My Comic.cbr" -o"My Comic"
python3 check_comic_archive.py "My Comic" --repack "My Comic.cbz"
Le reconditionnement place les pages et ComicInfo.xml à la racine de la nouvelle archive, même si les fichiers extraits se trouvaient dans un sous-dossier.
BookTranslator accepte également les téléversements CBR, CB7 et CBT, mais ils passent par un autre pipeline à prix fixe, et le processus page par page décrit dans la section suivante s'applique aux fichiers .cbz. Convertir d'abord ne prend que quelques secondes et vous donne aussi les noms de pages propres de l'étape 2.
Étape 4 : Conserver ComicInfo.xml, puis le mettre à jour
De nombreuses archives incluent un fichier ComicInfo.xml avec le titre, la série, la langue et le sens de lecture. Son format est maintenu par le Anansi Project. Deux de ses champs importants ici :
Manga. Le schéma autoriseUnknown,No,YesetYesAndRightToLeft. Ce dernier indique à un lecteur de tourner les pages de droite à gauche. Les images des pages ne peuvent pas porter ce réglage, donc si le fichier est perdu, les lecteurs qui l'utilisent perdent aussi le sens de lecture.LanguageISO. Ce champ contient le code de langue de la bande dessinée. Après traduction, il indique toujours la langue source, par exempleja, jusqu'à ce que vous le changiez.
BookTranslator copie ComicInfo.xml dans l'archive traduite sans modification, donc un manga de droite à gauche reste de droite à gauche dans les lecteurs qui prennent en charge ce drapeau. Ouvrez ensuite le fichier dans un éditeur de texte et remplacez LanguageISO par la langue cible. Si le fichier contient une table <Pages>, ses entrées pointent vers les pages par leur position, donc elles correspondent toujours tant que vous n'avez pas réordonné les pages. Les valeurs de taille comme ImageSize décrivent les images d'origine et ne correspondront plus aux pages PNG traduites. Un outil de bibliothèque qui s'appuie sur elles devra peut-être réanalyser le fichier.
Ce que fait BookTranslator avec un CBZ
Lorsque vous téléversez une bande dessinée .cbz, BookTranslator :
- liste les images des pages (PNG, JPEG, WebP, GIF, BMP ou TIFF) dans l'ordre naturel et ignore les entrées indésirables ;
- traite chaque page via le même pipeline que pour une image seule. Il détecte le texte, efface le lettrage d'origine et dessine la traduction à sa place, en travaillant sur quelques pages à la fois ;
- génère un nouveau fichier
.cbzavec chaque page traduite enregistrée en PNG à la même position, ainsi que tous les autres fichiers de l'archive d'origine.
Quelques détails méritent d'être connus avant de payer :
- Le prix dépend du nombre de pages. Chaque page est traitée comme une traduction d'image complète, donc un CBZ est facturé à la page plutôt qu'au mot. Le devis s'affiche après le téléversement, avant le paiement. La suppression des entrées indésirables et des images non liées aux pages ne change rien, car elles ne sont pas comptées comme des pages.
- Une page en échec conserve son image d'origine. Si une page échoue, elle reste dans la langue source et à la bonne position, de sorte que la bande dessinée reste complète. Si plus de 30 % des pages échouent, la tâche échoue au lieu de livrer un livre majoritairement non traduit.
- Vous obtenez uniquement la bande dessinée traduite. Les archives de bandes dessinées n'ont pas de version bilingue côte à côte.
- Les pages sont renvoyées en PNG. L'archive traduite peut être sensiblement plus volumineuse qu'un original JPEG.
Si vous avez aussi besoin du texte japonais lui-même, par exemple à partir de volumes de manga scannés avec des colonnes verticales et des furigana, notre guide sur la reconnaissance optique de texte vertical japonais aborde ces problèmes d'ordre de lecture pour les pages de texte.
Avant de téléverser : accès au fichier
Ce guide suppose que la bande dessinée est un fichier que vous possédez et pouvez ouvrir librement, comme un achat sans DRM, vos propres scans ou votre propre création. Les applications de boutique proposent souvent des bandes dessinées dans des formats protégés qui ne s'ouvrent que dans leur propre lecteur. Renommer ou réempaqueter ces fichiers n'y change rien. En cas de doute, lisez d'abord comment vérifier la présence de DRM sur un ebook avant traduction. Le téléchargement d'un fichier ne vous donne pas non plus le droit de partager ou de publier une traduction de celui-ci.
Traduire la bande dessinée
Une fois que le vérificateur ne signale aucun problème d'ordre et que chaque page est en PNG, JPEG ou WebP, téléversez le CBZ dans le traducteur de manga et vérifiez le prix au nombre de pages avant de payer. Lorsque la traduction est prête, ouvrez-la dans le lecteur que vous prévoyez d'utiliser. Regardez la couverture, la première double page et la dernière page, puis corrigez LanguageISO dans ComicInfo.xml. Pour des projets plus longs, comme une série que vous prévoyez de publier, notre guide complet de la traduction de livres aborde la révision, la terminologie et la cohérence entre les volumes.
Articles connexes





