Como traduzir um arquivo de banda desenhada CBZ ou CBR sem baralhar a ordem das páginas
Corrija a ordem das páginas, as capas, os ficheiros inúteis e as definições de leitura da direita para a esquerda antes de traduzir uma banda desenhada CBZ ou CBR. Inclui um verificador de arquivos gratuito e um ficheiro de exemplo.

Um ficheiro CBZ é um arquivo ZIP de imagens de páginas, e um ficheiro CBR é a mesma ideia compactada com RAR. Nada dentro do arquivo indica «esta é a página 2». Os leitores de banda desenhada, e as ferramentas de tradução, determinam a ordem das páginas ordenando os nomes dos ficheiros. Por isso, a maioria dos problemas com uma banda desenhada traduzida começa antes da tradução. Uma capa aparece no fim, a página 10 surge depois da página 1, ou um manga que devia ler-se da direita para a esquerda abre da esquerda para a direita.
Faça três verificações antes de carregar. Certifique-se de que os nomes das páginas se ordenam pela ordem correta, remova tudo o que não seja uma página e mantenha o ficheiro ComicInfo.xml se o arquivo tiver um. Depois, carregue o arquivo como CBZ. Criámos um verificador de arquivos de banda desenhada gratuito que executa as três verificações num segundo e pode recompactar o ficheiro com nomes de páginas seguros.
Resposta rápida: o que fazer com o seu arquivo
| O que tem | O que fazer antes de carregar |
|---|---|
Um .cbz cujas páginas se chamam 001.jpg, 002.jpg … | Carregue-o tal como está |
Um .cbz com páginas chamadas 1.jpg … 10.jpg, ou uma cover.jpg sem numeração | Recompacte-o com nomes preenchidos com zeros (Passo 2) |
Um ficheiro .cbr, .cb7 ou .cbt | Extraia-o e, em seguida, recompacte a pasta como um .cbz (Passo 3) |
| Páginas guardadas como AVIF, JPEG XL ou HEIC | Converta primeiro essas páginas para PNG, JPEG ou WebP |
| Um manga que deve ser lido da direita para a esquerda | Mantenha o respetivo ComicInfo.xml e atualize o campo de idioma após a tradução |
| Uma banda desenhada comprada numa aplicação de loja | Verifique se tem realmente um ficheiro sem DRM que lhe é permitido utilizar |
As secções abaixo explicam cada linha.
Porque a ordem das páginas se desorganiza: os leitores ordenam os nomes dos ficheiros
Há duas formas comuns de ordenar nomes de ficheiros, e divergem assim que os números das páginas têm comprimentos diferentes:
- Uma ordenação simples de caracteres compara os nomes caractere a caractere.
10.jpgcomeça por1, por isso vem antes de2.jpg. Obtém a ordem 1, 10, 11, 12, 2, 3 … - Uma ordenação natural lê uma sequência de dígitos como um número, por isso
2vem antes de10. Obtém 1, 2, 3 … 10, 11, 12.
Muitos leitores de banda desenhada ordenam naturalmente, mas não podes contar com isso, e não podes controlar em que leitor o ficheiro traduzido será aberto. A solução que funciona em todo o lado é preencher os números com zeros: 001.jpg … 010.jpg ordenam da mesma forma com qualquer um dos métodos.
Há dois outros problemas de nomenclatura fáceis de ignorar:
- Uma capa sem número fica em último. Ambos os métodos de ordenação colocam os dígitos antes das letras. Num arquivo com
cover.jpge001.jpg…024.jpg, a capa passa a ser a última página. - As pastas de capítulos são ordenadas como parte do nome.
Chapter 10/01.jpgeChapter 2/01.jpgcomparam primeiro os nomes das pastas, por isso os números das pastas precisam do mesmo cuidado que os números das páginas.
O BookTranslator ordena as páginas .cbz com uma ordenação natural e insensível a maiúsculas e minúsculas, e ignora entradas inúteis como pastas __MACOSX, ficheiros ocultos como .DS_Store e Thumbs.db. Isto significa que a página 2 vem antes da página 10 durante a tradução do ficheiro. No entanto, as páginas traduzidas mantêm os nomes originais. Se carregares 1.jpg … 12.jpg, recebes 1.png … 12.png, e um leitor que use uma ordenação simples continua a baralhá-las. Renomear antes de carregar corrige a ordem para qualquer leitor.
Passo 1: Verificar o Arquivo
Descarrega o check_comic_archive.py e executa-o na tua banda desenhada. Precisa de Python 3.8 ou mais recente e de mais nada, e não carrega nada:
python3 check_comic_archive.py "My Comic.cbz"
Para mostrar o que encontra, criámos um pequeno arquivo de exemplo com problemas que vemos frequentemente em ficheiros de banda desenhada. Tem doze páginas numeradas sem preenchimento com zeros, uma cover.png sem número, uma página dupla, um ficheiro AVIF, entradas inúteis do macOS e um ComicInfo.xml marcado como manga da direita para a esquerda. O README explica como o reconstruir com o make_test_comic.py. Aqui está o fim do relatório:
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.
Acima disso, o relatório lista cada página por ordem de leitura com o respetivo tamanho. Sinaliza uma página mais larga do que alta como uma página dupla, e uma página mais de três vezes mais alta do que larga como uma tira vertical, como um capítulo de webtoon. São essas as páginas a verificar primeiro quando a tradução estiver concluída.
Para nomes de ficheiros em ASCII simples, a ordenação natural do verificador segue a mesma comparação que o BookTranslator usa para páginas .cbz, incluindo pastas de capítulos, maiúsculas e minúsculas misturadas, espaços, hífenes e underscores. Nomes com letras acentuadas ou kana japonês podem ser ordenados de forma diferente entre ferramentas, o que é mais uma razão para renomear as páginas para números simples preenchidos com zeros.
Passo 2: Reempacotar com Nomes de Página Seguros
Se o relatório listar problemas de ordenação, vê primeiro a ordem impressa e depois reempacota:
python3 check_comic_archive.py "My Comic.cbz" --first cover.png --repack "My Comic fixed.cbz"
--repack escreve um novo CBZ. As páginas são renomeadas 0001, 0002 … pela ordem mostrada, as entradas inúteis são descartadas e todos os outros ficheiros, incluindo o ComicInfo.xml, são copiados sem alterações. --first move uma página para o início, que é como colocas uma capa sem número de volta no lugar certo. Podes repeti-lo para uma segunda página, como uma página de título. A renomeação fixa a ordem, por isso corrige-a antes de reempacotar, não depois. Se o arquivo tiver uma tabela de páginas no ComicInfo.xml, mover páginas altera as suas posições; o verificador lembra-te de verificar entradas como o marcador de capa frontal depois.
No arquivo de exemplo, o ficheiro reempacotado tem as páginas 0001.png … 0013.png com a capa primeiro e sem entradas inúteis. O único aviso que resta é o ficheiro AVIF. O verificador não consegue converter imagens; abre essa página num editor de imagens e exporta-a como PNG, JPEG ou WebP. Formatos como AVIF, JPEG XL e HEIC não são tratados como páginas. São copiados para o resultado tal como estão, sem tradução.
Passo 3: Converter um Ficheiro CBR, CB7 ou CBT num CBZ
Um ficheiro .cbr é um arquivo RAR, um .cb7 é 7z e um .cbt é tar. Renomear um .cbr para .cbz não o converte. O verificador lê os primeiros bytes do ficheiro. Para um arquivo RAR, 7z ou tar, para e diz-te qual tens. Se, em vez disso, imprimir um relatório normal de páginas, o ficheiro já é um arquivo ZIP com outro nome: renomeia-o para .cbz e volta ao Passo 1.
Para converter um verdadeiro arquivo RAR, 7z ou tar, extrai-o para uma pasta com o 7-Zip ou o The Unarchiver. Depois indica essa pasta ao verificador:
7z x "My Comic.cbr" -o"My Comic"
python3 check_comic_archive.py "My Comic" --repack "My Comic.cbz"
O reempacotamento coloca as páginas e o ComicInfo.xml no nível superior do novo arquivo, mesmo que os ficheiros extraídos estivessem numa subpasta.
O BookTranslator também aceita carregamentos CBR, CB7 e CBT, mas estes passam por um processo diferente a um preço fixo, e o processo página a página descrito na secção seguinte aplica-se a ficheiros .cbz. Converter primeiro é trabalho de alguns segundos e também te dá os nomes de página limpos do Passo 2.
Passo 4: Manter o ComicInfo.xml e Depois Atualizá-lo
Muitos arquivos incluem um ficheiro ComicInfo.xml com o título, a série, o idioma e a direção de leitura. O seu formato é mantido pelo Anansi Project. Dois dos seus campos são importantes aqui:
Manga. O esquema permiteUnknown,No,YeseYesAndRightToLeft. O último é como um arquivo indica a um leitor que vire as páginas da direita para a esquerda. As imagens das páginas não podem transportar essa definição, por isso, se o ficheiro se perder, os leitores que o usam perdem também a direção de leitura.LanguageISO. Contém o código de idioma da banda desenhada. Após a tradução, continua a indicar o idioma de origem, por exemploja, até o alterares.
O BookTranslator copia o ComicInfo.xml para o arquivo traduzido sem alterações, por isso o manga da direita para a esquerda continua da direita para a esquerda nos leitores que suportam o indicador. Abre o ficheiro num editor de texto depois e altera o LanguageISO para o idioma de destino. Se o ficheiro tiver uma tabela <Pages>, as suas entradas apontam para páginas por posição, por isso continuam a corresponder desde que não tenhas reordenado as páginas. Valores de tamanho como ImageSize descrevem as imagens originais e deixarão de corresponder às páginas PNG traduzidas. Uma ferramenta de biblioteca que dependa deles pode precisar de voltar a analisar o ficheiro.
O que o BookTranslator faz com um CBZ
Quando carrega um quadradinho .cbz, o BookTranslator:
- lista as imagens das páginas (PNG, JPEG, WebP, GIF, BMP ou TIFF) por ordem natural e ignora entradas inúteis;
- processa cada página com o mesmo fluxo de trabalho usado para imagens individuais. Localiza o texto, remove a legendagem original e desenha a tradução no seu lugar, trabalhando em algumas páginas de cada vez;
- cria um novo
.cbzcom cada página traduzida guardada como PNG na mesma posição, além de todos os outros ficheiros do arquivo original.
Há alguns detalhes que vale a pena conhecer antes de pagar:
- O preço depende do número de páginas. Cada página é uma execução completa de tradução de imagem, pelo que um CBZ é cobrado por página e não por palavra. O orçamento aparece após o carregamento, antes do pagamento. Remover entradas inúteis e imagens não relacionadas com páginas não altera o preço, porque essas não são contadas como páginas.
- Uma página falhada mantém a imagem original. Se uma página falhar, permanece no idioma de origem e na posição correta, pelo que a banda desenhada continua completa. Se mais de 30% das páginas falharem, a tarefa falha em vez de entregar um livro maioritariamente não traduzido.
- Recebe apenas a banda desenhada traduzida. Os arquivos de banda desenhada não têm versão bilingue lado a lado.
- As páginas são devolvidas como PNG. O arquivo traduzido pode ser consideravelmente maior do que um original JPEG.
Se também precisar do texto japonês em si, por exemplo de volumes de manga digitalizados com colunas verticais e furigana, o nosso guia sobre OCR de texto vertical japonês aborda esses problemas de ordem de leitura para páginas de texto.
Antes de carregar: acesso ao ficheiro
Este guia pressupõe que a banda desenhada é um ficheiro que possui e pode abrir livremente, como uma compra sem DRM, as suas próprias digitalizações ou o seu próprio trabalho. As lojas de aplicações entregam frequentemente bandas desenhadas em formatos protegidos que só abrem no leitor delas. Mudar o nome ou reempacotar esses ficheiros não altera isso. Se não tiver a certeza, leia primeiro como verificar um ebook para DRM antes da tradução. Descarregar um ficheiro também não lhe dá permissão para partilhar ou publicar uma tradução do mesmo.
Traduza a banda desenhada
Assim que o verificador não reportar problemas de ordenação e todas as páginas forem PNG, JPEG ou WebP, carregue o CBZ para o tradutor de manga e verifique o preço por número de páginas antes de pagar. Quando a tradução estiver pronta, abra-a no leitor que planeia usar. Veja a capa, a primeira dupla página e a última página, depois corrija LanguageISO em ComicInfo.xml. Para projetos mais longos, como uma série que planeia publicar, o nosso guia completo de tradução de livros aborda a revisão, a terminologia e a consistência entre volumes.
Publicações relacionadas





