Jak przetłumaczyć archiwum komiksu CBZ lub CBR bez mieszania kolejności stron
Napraw kolejność stron, okładki, niepotrzebne pliki i ustawienia od prawej do lewej, zanim przetłumaczysz komiks CBZ lub CBR. Zawiera darmowe narzędzie do sprawdzania archiwów i przykładowy plik.

Plik CBZ to archiwum ZIP ze zdjęciami stron, a plik CBR to to samo, tylko spakowane w RAR. Nic w archiwum nie mówi „to jest strona 2”. Czytniki komiksów i narzędzia do tłumaczenia ustalają kolejność stron, sortując nazwy plików. Dlatego większość problemów z przetłumaczonym komiksem zaczyna się przed tłumaczeniem. Okładka ląduje na końcu, strona 10 pojawia się po stronie 1, a manga od prawej do lewej otwiera się od lewej do prawej.
Przed przesłaniem wykonaj trzy sprawdzenia. Upewnij się, że nazwy stron sortują się we właściwej kolejności, usuń wszystko, co nie jest stroną, i zachowaj plik ComicInfo.xml, jeśli archiwum go zawiera. Następnie prześlij archiwum jako CBZ. Napisaliśmy darmowe narzędzie do sprawdzania archiwów komiksów, które wykonuje wszystkie trzy sprawdzenia w sekundę i może przepakować plik z bezpiecznymi nazwami stron.
Szybka odpowiedź: co zrobić z archiwum
| Co masz | Co zrobić przed przesłaniem |
|---|---|
Plik .cbz, którego strony nazywają się 001.jpg, 002.jpg … | Prześlij go tak, jak jest |
Plik .cbz ze stronami nazwanymi 1.jpg … 10.jpg lub nieponumerowanym cover.jpg | Przepakuj go z nazwami uzupełnionymi zerami (krok 2) |
Plik .cbr, .cb7 lub .cbt | Wypakuj go, a następnie przepakuj folder jako .cbz (krok 3) |
| Strony zapisane jako AVIF, JPEG XL lub HEIC | Najpierw przekonwertuj te strony na PNG, JPEG lub WebP |
| Manga, którą należy czytać od prawej do lewej | Zachowaj jej plik ComicInfo.xml i zaktualizuj pole języka po tłumaczeniu |
| Komiks kupiony w aplikacji sklepu | Sprawdź, czy naprawdę masz plik bez DRM, którego możesz legalnie użyć |
Poniższe sekcje wyjaśniają każdy wiersz.
Dlaczego kolejność stron się psuje: czytniki sortują nazwy plików
Istnieją dwa popularne sposoby sortowania nazw plików i różnią się one, gdy numery stron mają różną długość:
- Sortowanie znak po znaku porównuje nazwy po jednym znaku.
10.jpgzaczyna się od1, więc pojawia się przed2.jpg. Otrzymujesz kolejność 1, 10, 11, 12, 2, 3 … - Sortowanie naturalne odczytuje ciąg cyfr jako liczbę, więc
2pojawia się przed10. Otrzymujesz 1, 2, 3 … 10, 11, 12.
Wiele czytników komiksów sortuje w naturalny sposób, ale nie można na tym polegać i nie masz wpływu na to, w jakim czytniku zostanie otwarty przetłumaczony plik. Rozwiązaniem, które działa wszędzie, jest uzupełnienie numerów zerami: 001.jpg … 010.jpg sortują się tak samo w obu metodach.
Dwa inne problemy z nazewnictwem łatwo przeoczyć:
- Okładka bez numeru trafia na koniec. Obie metody sortowania stawiają cyfry przed literami. W archiwum z plikami
cover.jpgi001.jpg…024.jpgokładka staje się ostatnią stroną. - Foldery rozdziałów sortują się jako część nazwy.
Chapter 10/01.jpgiChapter 2/01.jpgporównują najpierw nazwy folderów, więc numery folderów wymagają takiej samej staranności jak numery stron.
BookTranslator porządkuje strony .cbz za pomocą naturalnego sortowania bez rozróżniania wielkości liter i pomija zbędne wpisy, takie jak foldery __MACOSX, pliki ukryte typu .DS_Store i Thumbs.db. Dzięki temu strona 2 pojawia się przed stroną 10 podczas tłumaczenia. Przetłumaczone strony zachowują jednak swoje oryginalne nazwy. Jeśli prześlesz 1.jpg … 12.jpg, otrzymasz 1.png … 12.png, a czytnik korzystający ze zwykłego sortowania nadal je pomiesza. Zmiana nazw przed przesłaniem poprawia kolejność we wszystkich czytnikach.
Krok 1: Sprawdź archiwum
Pobierz check_comic_archive.py i uruchom go na swoim komiksie. Wymaga tylko Pythona 3.8 lub nowszego i niczego więcej, a przy tym niczego nie przesyła:
python3 check_comic_archive.py "My Comic.cbz"
Aby pokazać, co wykrywa, zbudowaliśmy małe przykładowe archiwum z problemami, które często spotykamy w plikach komiksów. Ma dwanaście stron ponumerowanych bez uzupełniania zerami, nieponumerowaną okładkę cover.png, jedną rozkładówkę, plik AVIF, śmieciowe wpisy systemu macOS oraz plik ComicInfo.xml oznaczony jako manga czytana od prawej do lewej. W pliku README wyjaśniono, jak odtworzyć je za pomocą make_test_comic.py. Oto koniec raportu:
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.
Powyżej raport wymienia każdą stronę w kolejności czytania wraz z jej rozmiarem. Stronę szerszą niż wyższą oznacza jako rozkładówkę, a stronę ponad trzykrotnie wyższą niż szerszą jako wysoki pasek, jak rozdział webtoonu. To właśnie te strony warto sprawdzić w pierwszej kolejności, gdy tłumaczenie wróci.
W przypadku zwykłych nazw plików w formacie ASCII naturalne sortowanie w narzędziu sprawdzającym opiera się na tym samym porównaniu, którego BookTranslator używa dla stron .cbz, uwzględniając foldery rozdziałów, mieszaną wielkość liter, spacje, myślniki i podkreślenia. Nazwy z literami diakrytycznymi lub japońską kaną mogą sortować się różnie w zależności od narzędzia, co jest kolejnym powodem, by zmienić nazwy stron na zwykłe numery uzupełnione zerami.
Krok 2: Spakuj ponownie z bezpiecznymi nazwami stron
Jeśli raport wymienia problemy z kolejnością, najpierw sprawdź wydrukowaną kolejność, a następnie spakuj ponownie:
python3 check_comic_archive.py "My Comic.cbz" --first cover.png --repack "My Comic fixed.cbz"
--repack zapisuje nowy plik CBZ. Strony otrzymują nazwy 0001, 0002 … w pokazanej kolejności, śmieciowe wpisy są usuwane, a każdy inny plik, w tym ComicInfo.xml, jest kopiowany bez zmian. --first przenosi stronę na początek, co pozwala przywrócić nieponumerowaną okładkę na właściwe miejsce. Możesz powtórzyć tę opcję dla drugiej strony, na przykład strony tytułowej. Zmiana nazw utrwala kolejność, więc popraw ją przed ponownym spakowaniem, a nie po. Jeśli archiwum zawiera tabelę stron w ComicInfo.xml, przenoszenie stron zmienia ich pozycje; narzędzie sprawdzające przypomina, aby później zweryfikować wpisy, takie jak znacznik przedniej okładki.
W przykładowym archiwum ponownie spakowany plik ma strony 0001.png … 0013.png, z okładką na początku i bez śmieciowych wpisów. Jedynym pozostałym ostrzeżeniem jest plik AVIF. Narzędzie sprawdzające nie potrafi konwertować obrazów; otwórz tę stronę w edytorze obrazów i wyeksportuj ją jako PNG, JPEG lub WebP. Formaty takie jak AVIF, JPEG XL i HEIC nie są traktowane jako strony. Są kopiowane do wyniku w niezmienionej postaci, bez tłumaczenia.
Krok 3: Zamień plik CBR, CB7 lub CBT na CBZ
Plik .cbr to archiwum RAR, .cb7 to 7z, a .cbt to tar. Zmiana nazwy .cbr na .cbz nie konwertuje pliku. Narzędzie sprawdzające odczytuje pierwsze bajty pliku. W przypadku archiwum RAR, 7z lub tar zatrzymuje się i informuje, z którym formatem masz do czynienia. Jeśli zamiast tego wyświetla zwykły raport stron, plik jest już archiwum ZIP pod inną nazwą: zmień jego nazwę na .cbz i wróć do kroku 1.
Aby przekonwertować prawdziwe archiwum RAR, 7z lub tar, rozpakuj je do folderu za pomocą 7-Zip lub The Unarchiver. Następnie wskaż ten folder narzędziu sprawdzającemu:
7z x "My Comic.cbr" -o"My Comic"
python3 check_comic_archive.py "My Comic" --repack "My Comic.cbz"
Ponowne spakowanie umieszcza strony i ComicInfo.xml na najwyższym poziomie nowego archiwum, nawet jeśli rozpakowane pliki znajdowały się w podfolderze.
BookTranslator przyjmuje również pliki CBR, CB7 i CBT, ale przechodzą one przez inny proces w stałej cenie, a opisany w następnej sekcji proces strona po stronie dotyczy plików .cbz. Konwersja najpierw to kilka sekund pracy i daje też czyste nazwy stron z kroku 2.
Krok 4: Zachowaj ComicInfo.xml, a następnie go zaktualizuj
Wiele archiwów zawiera plik ComicInfo.xml z tytułem, serią, językiem i kierunkiem czytania. Jego format jest utrzymywany przez Anansi Project. Dwa z jego pól mają tu znaczenie:
Manga. Schemat dopuszcza wartościUnknown,No,YesiYesAndRightToLeft. Ostatnia z nich informuje czytnik, że strony należy przewracać od prawej do lewej. Obrazy stron nie mogą przenosić tego ustawienia, więc jeśli plik zaginie, czytniki, które z niego korzystają, tracą również kierunek czytania.LanguageISO. Zawiera kod języka komiksu. Po tłumaczeniu nadal wskazuje język źródłowy, na przykładja, dopóki go nie zmienisz.
BookTranslator kopiuje ComicInfo.xml do przetłumaczonego archiwum bez zmian, więc manga czytana od prawej do lewej pozostaje taka w czytnikach obsługujących tę flagę. Następnie otwórz plik w edytorze tekstu i zmień LanguageISO na język docelowy. Jeśli plik zawiera tabelę <Pages>, jej wpisy wskazują strony według pozycji, więc nadal pasują, o ile nie zmieniłeś kolejności stron. Wartości rozmiarów, takie jak ImageSize, opisują oryginalne obrazy i nie będą już zgodne z przetłumaczonymi stronami PNG. Narzędzie biblioteczne, które na nich polega, może wymagać ponownego przeskanowania pliku.
Co BookTranslator robi z plikiem CBZ
Gdy przesyłasz komiks w formacie .cbz, BookTranslator:
- wyświetla obrazy stron (PNG, JPEG, WebP, GIF, BMP lub TIFF) w naturalnej kolejności i pomija zbędne wpisy;
- przetwarza każdą stronę przez ten sam potok co w przypadku pojedynczych obrazów. Wykrywa tekst, usuwa oryginalne liternictwo i wstawia w to miejsce tłumaczenie, pracując nad kilkoma stronami naraz;
- tworzy nowy plik
.cbz, w którym każda przetłumaczona strona jest zapisana jako PNG w tej samej pozycji, wraz ze wszystkimi pozostałymi plikami z oryginalnego archiwum.
Przed zapłatą warto poznać kilka szczegółów:
- Cena zależy od liczby stron. Każda strona to pełne tłumaczenie obrazu, więc plik CBZ jest wyceniany za stronę, a nie za słowo. Wycena pojawia się po przesłaniu, przed płatnością. Usunięcie zbędnych wpisów i przypadkowych obrazów niebędących stronami nie zmienia jej, ponieważ nie są one liczone jako strony.
- Strona, której nie uda się przetłumaczyć, zachowuje oryginalny obraz. Jeśli pojedyncza strona zawiedzie, pozostaje w języku źródłowym i we właściwym miejscu, więc komiks jest nadal kompletny. Jeśli nie uda się przetłumaczyć ponad 30% stron, zadanie kończy się niepowodzeniem, zamiast dostarczyć w większości nieprzetłumaczoną książkę.
- Otrzymujesz wyłącznie przetłumaczony komiks. Archiwa komiksów nie mają dwujęzycznej wersji obok siebie.
- Strony wracają jako PNG. Przetłumaczone archiwum może być zauważalnie większe niż oryginał w JPEG.
Jeśli potrzebujesz również samego tekstu japońskiego, na przykład ze skanowanych tomów mangi z pionowymi kolumnami i furiganą, nasz przewodnik po OCR japońskiego tekstu pionowego omawia te problemy z kolejnością czytania na stronach tekstowych.
Przed przesłaniem: dostęp do pliku
Ten przewodnik zakłada, że komiks to plik, który posiadasz i możesz swobodnie otwierać, na przykład zakup bez DRM, własne skany lub własna twórczość. Aplikacje sklepowe często dostarczają komiksy w chronionych formatach, które otwierają się tylko w ich własnym czytniku. Zmiana nazwy lub przepakowanie takich plików tego nie zmienia. Jeśli nie masz pewności, najpierw przeczytaj jak sprawdzić e-booka pod kątem DRM przed tłumaczeniem. Pobranie pliku nie daje również prawa do udostępniania ani publikowania jego tłumaczenia.
Przetłumacz komiks
Gdy narzędzie sprawdzające zgłosi brak problemów z kolejnością, a każda strona będzie w formacie PNG, JPEG lub WebP, prześlij plik CBZ do tłumacza mangi i sprawdź cenę zależną od liczby stron przed zapłatą. Gdy tłumaczenie będzie gotowe, otwórz je w czytniku, którego planujesz używać. Spójrz na okładkę, pierwszą rozkładówkę i ostatnią stronę, a następnie popraw LanguageISO w ComicInfo.xml. W przypadku dłuższych projektów, takich jak seria, którą planujesz publikować, nasz kompletny przewodnik po tłumaczeniu książek omawia korektę, terminologię i spójność między tomami.
Powiązane wpisy





