Как да преведете CBZ или CBR комикс архив, без да разбъркате реда на страниците
Подредете страниците, корицата, ненужните файлове и настройките за посока отдясно наляво, преди да преведете CBZ или CBR комикс. Включва безплатен инструмент за проверка на архиви и примерен файл.

CBZ файлът е ZIP архив от изображения на страници, а CBR файлът е същото, но опаковано с RAR. Нищо в архива не казва „това е страница 2“. Програмите за четене на комикси и инструментите за превод определят реда на страниците, като сортират имената на файловете. Затова повечето проблеми с преведения комикс започват още преди превода. Корицата се озовава накрая, страница 10 се показва след страница 1 или манга, която трябва да се чете отдясно наляво, се отваря отляво надясно.
Направете три проверки, преди да качите файла. Уверете се, че имената на страниците се сортират в правилния ред, премахнете всичко, което не е страница, и запазете файла ComicInfo.xml, ако архивът има такъв. След това качете архива като CBZ. Написахме безплатен инструмент за проверка на комикс архиви, който извършва и трите проверки за секунда и може да преопакова файла с безопасни имена на страниците.
Бърз отговор: какво да направите с вашия архив
| Какво имате | Какво да направите преди качване |
|---|---|
.cbz файл, чиито страници са именувани 001.jpg, 002.jpg … | Качете го както си е |
.cbz файл със страници, именувани 1.jpg … 10.jpg, или неименувана cover.jpg | Преопаковайте го с имена с водещи нули (Стъпка 2) |
.cbr, .cb7 или .cbt файл | Извлечете го и след това преопаковайте папката като .cbz (Стъпка 3) |
| Страници, запазени като AVIF, JPEG XL или HEIC | Първо конвертирайте тези страници в PNG, JPEG или WebP |
| Манга, която трябва да се чете отдясно наляво | Запазете нейния ComicInfo.xml и актуализирайте полето за език след превода |
| Комикс, купен от магазинно приложение | Проверете дали наистина имате файл без DRM, който ви е разрешено да използвате |
Секциите по-долу обясняват всеки ред.
Защо редът на страниците се разваля: програмите сортират имената на файловете
Има два често срещани начина за сортиране на имена на файлове и те се разминават веднага щом номерата на страниците са с различна дължина:
- Обикновено сортиране по символи сравнява имената символ по символ.
10.jpgзапочва с1, затова идва преди2.jpg. Получавате реда 1, 10, 11, 12, 2, 3 … - Естествено сортиране чете поредица от цифри като число, така че
2идва преди10. Получавате 1, 2, 3 … 10, 11, 12.
Много програми за четене на комикси сортират естествено, но не може да разчитате на това и не можете да контролирате в коя програма ще бъде отворен преведеният файл. Решението, което работи навсякъде, е да добавите водещи нули към числата: 001.jpg … 010.jpg се сортират по един и същ начин и с двата метода.
Два други проблема с имената са лесни за пропускане:
- Корица без номер се подрежда последна. И двата метода на сортиране поставят цифрите преди буквите. В архив с
cover.jpgи001.jpg…024.jpgкорицата става последна страница. - Папките на главите се сортират като част от името.
Chapter 10/01.jpgиChapter 2/01.jpgсравняват първо имената на папките, така че номерата на папките се нуждаят от същото внимание като номерата на страниците.
BookTranslator подрежда страниците в .cbz с естествено сортиране, което не прави разлика между главни и малки букви, и пропуска ненужни записи като папки __MACOSX, скрити файлове като .DS_Store и Thumbs.db. Това означава, че страница 2 идва преди страница 10, докато файлът се превежда. Преведените страници обаче запазват оригиналните си имена. Ако качите 1.jpg … 12.jpg, ще получите обратно 1.png … 12.png и програма за четене, която използва просто сортиране, все още ще ги обърква. Преименуването преди качване оправя подредбата за всяка програма за четене.
Стъпка 1: Проверете архива
Изтеглете check_comic_archive.py и го стартирайте върху вашия комикс. Той се нуждае от Python 3.8 или по-нова версия и нищо друго и не качва нищо:
python3 check_comic_archive.py "My Comic.cbz"
За да покажем какво открива, създадохме малък примерен архив с проблеми, които често срещаме в комикс файлове. Той има дванадесет страници, номерирани без водещи нули, неименувана cover.png, един разгънат на две страници, AVIF файл, ненужни macOS записи и ComicInfo.xml, маркиран като манга с четене от дясно на ляво. README обяснява как да го възстановите с make_test_comic.py. Ето края на доклада:
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.
Над това докладът изброява всяка страница в ред на четене с размера ѝ. Отбелязва страница, която е по-широка, отколкото е висока, като разгъната на две страници, и страница, която е повече от три пъти по-висока, отколкото е широка, като висока лента, например глава от уебкомикс. Това са страниците, които трябва да прегледате първо, когато преводът се върне.
За имена на файлове само с ASCII знаци естественото сортиране на проверяващия следва същото сравнение, което BookTranslator използва за страниците в .cbz, включително папки на глави, смесени главни и малки букви, интервали, тирета и долни черти. Имената с букви с ударения или японски кана могат да се сортират различно между инструментите, което е още една причина да преименувате страниците на прости числа с водещи нули.
Стъпка 2: Преопаковайте с безопасни имена на страници
Ако докладът изброява проблеми с подредбата, първо погледнете отпечатаната подредба, след което преопаковайте:
python3 check_comic_archive.py "My Comic.cbz" --first cover.png --repack "My Comic fixed.cbz"
--repack записва нов CBZ. Страниците се преименуват на 0001, 0002 … в показаната подредба, ненужните записи се премахват, а всеки друг файл, включително ComicInfo.xml, се копира непроменен. --first премества страница в началото, което е начинът да върнете неименувана корица там, където ѝ е мястото. Можете да го повторите за втора страница, например заглавна страница. Преименуването заключва подредбата, така че я оправете преди да преопаковате, а не след това. Ако архивът има таблица на страниците в ComicInfo.xml, преместването на страници измества позициите им; проверяващият ви напомня да проверите записи като маркера за предна корица след това.
В примерния архив преопакованият файл има страници 0001.png … 0013.png с корицата първа и без ненужни записи. Единственото останало предупреждение е AVIF файлът. Проверяващият не може да конвертира изображения; отворете тази страница в редактор на изображения и я експортирайте като PNG, JPEG или WebP. Формати като AVIF, JPEG XL и HEIC не се третират като страници. Те се копират в резултата както са, непреведени.
Стъпка 3: Превърнете CBR, CB7 или CBT файл в CBZ
Файлът .cbr е RAR архив, .cb7 е 7z, а .cbt е tar. Преименуването на .cbr на .cbz не го конвертира. Проверяващият чете първите байтове на файла. За RAR, 7z или tar архив той спира и ви казва кой от тях имате. Ако вместо това отпечата нормален доклад за страници, файлът вече е ZIP архив под друго име: преименувайте го на .cbz и се върнете към Стъпка 1.
За да конвертирате истински RAR, 7z или tar архив, извлечете го в папка с 7-Zip или The Unarchiver. След това насочете проверяващия към тази папка:
7z x "My Comic.cbr" -o"My Comic"
python3 check_comic_archive.py "My Comic" --repack "My Comic.cbz"
Преопаковането поставя страниците и ComicInfo.xml в горното ниво на новия архив, дори ако извлечените файлове са били в подпапка.
BookTranslator приема и качвания на CBR, CB7 и CBT, но те минават през различен процес на фиксирана цена и описаният в следващия раздел процес страница по страница се отнася за .cbz файлове. Конвертирането първо е работа от няколко секунди и ви дава и чистите имена на страници от Стъпка 2.
Стъпка 4: Запазете ComicInfo.xml, след което го актуализирайте
Много архиви включват файл ComicInfo.xml със заглавие, поредица, език и посока на четене. Форматът му се поддържа от Anansi Project. Две от полетата му имат значение тук:
Manga. Схемата позволяваUnknown,No,YesиYesAndRightToLeft. Последното е начинът, по който един архив казва на програмата за четене да обръща страниците от дясно на ляво. Изображенията на страниците не могат да носят тази настройка, така че ако файлът се загуби, програмите, които го използват, губят и посоката на четене.LanguageISO. Това съдържа езиковия код на комикса. След превод той все още посочва изходния език, напримерja, докато не го промените.
BookTranslator копира ComicInfo.xml в преведения архив непроменен, така че мангата с четене от дясно на ляво остава такава в програмите, които поддържат флага. След това отворете файла в текстов редактор и променете LanguageISO на целевия език. Ако файлът има таблица <Pages>, записите ѝ сочат към страници по позиция, така че те все още съвпадат, стига да не сте пренаредили страниците. Стойности за размер като ImageSize описват оригиналните изображения и вече няма да съвпадат с преведените PNG страници. Инструмент за библиотека, който разчита на тях, може да се нуждае от повторно сканиране на файла.
Какво прави BookTranslator с CBZ файл
Когато качите .cbz комикс, BookTranslator:
- подрежда изображенията на страниците (PNG, JPEG, WebP, GIF, BMP или TIFF) в естествен ред и пропуска излишните записи;
- прекарва всяка страница през същата обработка, използвана за единични изображения. Открива текста, премахва оригиналните надписи и изчертава превода на тяхно място, като работи с по няколко страници наведнъж;
- създава нов
.cbzфайл, в който всяка преведена страница е запазена като PNG на същото място, заедно с всички останали файлове от оригиналния архив.
Няколко подробности си струва да знаете, преди да платите:
- Цената зависи от броя страници. Всяка страница представлява пълно превеждане на изображение, така че CBZ файлът се таксува на страница, а не на дума. Офертата се показва след качване, преди плащане. Премахването на излишни записи и случайни изображения, които не са страници, не променя цената, защото те не се броят за страници.
- Неуспешната страница запазва оригиналното си изображение. Ако една страница се провали, тя остава на изходния език и на правилното място, така че комиксът е все още завършен. Ако повече от 30% от страниците се провалят, задачата се проваля, вместо да достави книга, която е предимно непреведена.
- Получавате само преведения комикс. Архивите на комикси нямат двуезична версия една до друга.
- Страниците се връщат като PNG. Преведеният архив може да бъде значително по-голям от оригинал с JPEG.
Ако ви трябва и самият японски текст, например от сканирани томове манга с вертикални колони и фуригана, нашето ръководство за OCR на японски вертикален текст разглежда тези проблеми с реда на четене за текстови страници.
Преди да качите: достъп до файла
Това ръководство предполага, че комиксът е файл, който притежавате и можете свободно да отворите, например покупка без DRM, ваши собствени сканирания или ваша собствена работа. Магазините за приложения често доставят комикси в защитени формати, които се отварят само в техния собствен четец. Преименуването или преопаковането на тези файлове не променя това. Ако не сте сигурни, първо прочетете как да проверите една електронна книга за DRM преди превод. Изтеглянето на файл също не ви дава разрешение да споделяте или публикувате превод на него.
Преведете комикса
След като проверката не открие проблеми с подредбата и всяка страница е PNG, JPEG или WebP, качете CBZ файла в преводача за манга и проверете цената според броя страници, преди да платите. Когато преводът е готов, отворете го в четеца, който планирате да използвате. Разгледайте корицата, първия разтвор на две страници и последната страница, след което коригирайте LanguageISO в ComicInfo.xml. За по-дълги проекти, като например серия, която планирате да публикувате, нашето пълно ръководство за превод на книги обхваща прегледа, терминологията и последователността между томовете.
Свързани публикации





