BookTranslator
BookTranslator

Hogyan fordítsunk CBZ vagy CBR képregény-archívumot az oldalak sorrendjének összekeverése nélkül

Javítsuk ki az oldalak sorrendjét, a borítókat, a felesleges fájlokat és a jobbról balra olvasás beállításait, mielőtt lefordítunk egy CBZ vagy CBR képregényt. Ingyenes archívum-ellenőrzőt és mintafájlt is tartalmaz.

BookTranslator

BookTranslator Team

10 perc olvasás

A CBZ fájl egy ZIP archívum oldalképekkel, a CBR pedig ugyanez RAR-ba csomagolva. Az archívumon belül semmi sem mondja ki, hogy „ez a 2. oldal”. A képregényolvasók és a fordítóeszközök a fájlnevek rendezésével állapítják meg az oldalak sorrendjét. Ezért a lefordított képregényekkel kapcsolatos problémák többsége már a fordítás előtt elkezdődik. A borító a végére kerül, a 10. oldal az 1. oldal után jelenik meg, vagy egy jobbról balra olvasandó manga balról jobbra nyílik meg.

Feltöltés előtt végezzünk el három ellenőrzést. Győződjünk meg arról, hogy az oldalak nevei a megfelelő sorrendbe rendeződnek, távolítsunk el mindent, ami nem oldal, és tartsuk meg a ComicInfo.xml fájlt, ha van ilyen az archívumban. Ezután töltsük fel az archívumot CBZ formátumban. Írtunk egy ingyenes képregény-archívum ellenőrzőt, amely egy másodperc alatt lefuttatja mindhárom ellenőrzést, és biztonságos oldalnevekkel újracsomagolhatja a fájlt.

Gyors válasz: Mit tegyünk az archívummal

Mi van a birtokunkbanMit tegyünk feltöltés előtt
Egy .cbz fájl, amelynek oldalai 001.jpg, 002.jpg … néven szerepelnekTöltsük fel úgy, ahogy van
Egy .cbz fájl, amelynek oldalai 1.jpg … 10.jpg néven szerepelnek, vagy egy számozatlan cover.jpgCsomagoljuk újra nullákkal kiegészített nevekkel (2. lépés)
Egy .cbr, .cb7 vagy .cbt fájlBontsuk ki, majd csomagoljuk újra a mappát .cbz formátumban (3. lépés)
AVIF, JPEG XL vagy HEIC formátumban mentett oldalakElőször konvertáljuk ezeket az oldalakat PNG, JPEG vagy WebP formátumba
Egy manga, amelyet jobbról balra kell olvasniTartsuk meg a ComicInfo.xml fájlt, és a fordítás után frissítsük a nyelvi mezőt
Egy áruház alkalmazásából vásárolt képregényEllenőrizzük, hogy valóban rendelkezünk-e DRM-mentes fájllal, amelyet jogosultak vagyunk használni

A következő szakaszok az egyes sorokat magyarázzák el.

Miért borul fel az oldalak sorrendje: az olvasók a fájlneveket rendezik

Két gyakori módja van a fájlnevek rendezésének, és ezek azonnal ellentmondanak egymásnak, amint az oldalszámok különböző hosszúságúak:

  • A sima karakteres rendezés a neveket karakterenként hasonlítja össze. A 10.jpg 1-gyel kezdődik, így a 2.jpg előtt következik. Az eredmény: 1, 10, 11, 12, 2, 3 …
  • A természetes rendezés egy számjegysorozatot számként értelmez, így a 2 a 10 előtt következik. Az eredmény: 1, 2, 3 … 10, 11, 12.

Sok képregényolvasó természetes sorrendbe rendez, de erre nem lehet számítani, és azt sem tudod szabályozni, hogy a lefordított fájlt melyik olvasóban nyitják meg. A mindenhol működő megoldás, ha nullákkal egészíted ki a számokat: a 001.jpg … 010.jpg mindkét módszerrel ugyanabba a sorrendbe kerül.

Két másik elnevezési problémát könnyű észrevenni:

  • A számozatlan borító a végére kerül. Mindkét rendezési módszer a számjegyeket a betűk elé teszi. Egy olyan archívumban, amelyben cover.jpg és 001.jpg … 024.jpg található, a borító lesz az utolsó oldal.
  • A fejezetmappák a név részeként rendeződnek. A Chapter 10/01.jpg és a Chapter 2/01.jpg összehasonlításakor először a mappanevek számítanak, ezért a mappák számait ugyanolyan gonddal kell kezelni, mint az oldalak számait.

A BookTranslator a .cbz oldalakat természetes, kis- és nagybetűt nem megkülönböztető sorrendbe rendezi, és kihagyja a szemétbejegyzéseket, például a __MACOSX mappákat, a .DS_Store-hoz hasonló pontfájlokat és a Thumbs.db-t. Ez azt jelenti, hogy a 2. oldal a 10. oldal előtt következik a fordítás során. A lefordított oldalak azonban megtartják eredeti nevüket. Ha feltöltöd az 1.jpg … 12.jpg fájlokat, visszakapod az 1.png … 12.png fájlokat, és egy egyszerű rendezést használó olvasó továbbra is összekeveri őket. A feltöltés előtti átnevezés minden olvasó számára helyre teszi a sorrendet.

1. lépés: Az archívum ellenőrzése

Töltsd le a check_comic_archive.py fájlt, és futtasd a képregényeden. Python 3.8 vagy újabb verzióra van szüksége, másra nem, és semmit nem tölt fel:

python3 check_comic_archive.py "My Comic.cbz"

Hogy megmutassuk, mit talál, készítettünk egy kis mintarchívumot olyan problémákkal, amelyekkel gyakran találkozunk képregényfájlokban. Tizenkét oldalt tartalmaz, amelyek nullákkal való kiegészítés nélkül vannak számozva, egy számozatlan cover.png-t, egy kétoldalas kiterítést, egy AVIF-fájlt, macOS szemétbejegyzéseket és egy jobbról balra olvasandó mangaként megjelölt ComicInfo.xml-t. A README elmagyarázza, hogyan lehet újraépíteni a make_test_comic.py segítségével. Íme a jelentés vége:

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.

Fentebb a jelentés minden oldalt olvasási sorrendben sorol fel a méretével együtt. Kétoldalas kiterítésként jelöli meg azt az oldalt, amely szélesebb, mint amilyen magas, és magas csíkként, például webtoon-fejezetként azt az oldalt, amely több mint háromszor olyan magas, mint amilyen széles. Ezeket az oldalakat érdemes először megnézni, amikor visszaérkezik a fordítás.

Egyszerű ASCII-fájlnevek esetén az ellenőrző természetes rendezése ugyanazt az összehasonlítást követi, amelyet a BookTranslator használ a .cbz oldalakhoz, beleértve a fejezetmappákat, a vegyes kis- és nagybetűket, a szóközöket, a kötőjeleket és az aláhúzásjeleket. Az ékezetes betűket vagy japán kana karaktereket tartalmazó nevek esetleg másképp rendeződhetnek az egyes eszközök között, ami még egy ok arra, hogy az oldalakat egyszerű, nullákkal kiegészített számokra nevezd át.

2. lépés: Újracsomagolás biztonságos oldalnevekkel

Ha a jelentés sorrendezési problémákat sorol fel, először nézd meg a kiírt sorrendet, majd csomagold újra:

python3 check_comic_archive.py "My Comic.cbz" --first cover.png --repack "My Comic fixed.cbz"

A --repack új CBZ-t ír. Az oldalak a megjelenített sorrendben 0001, 0002 … nevet kapnak, a szemétbejegyzések kimaradnak, és minden más fájl, beleértve a ComicInfo.xml-t is, változatlanul másolódik. A --first egy oldalt előre mozgat, így teheted vissza a helyére a számozatlan borítót. Megismételheted egy második oldalhoz, például egy címlaphoz. Az átnevezés rögzíti a sorrendet, ezért az újracsomagolás előtt javítsd ki, ne utána. Ha az archívumban van ComicInfo.xml oldaltábla, az oldalak mozgatása eltolja a pozícióikat; az ellenőrző emlékeztet, hogy utána ellenőrizd az olyan bejegyzéseket, mint az első borító jelölője.

A mintarchívumon az újracsomagolt fájl 0001.png … 0013.png oldalakat tartalmaz, a borítóval az élen és szemétbejegyzések nélkül. Már csak az AVIF-fájlra vonatkozó figyelmeztetés maradt. Az ellenőrző nem tud képeket konvertálni; nyisd meg azt az oldalt egy képszerkesztőben, és exportáld PNG, JPEG vagy WebP formátumban. Az olyan formátumokat, mint az AVIF, a JPEG XL és a HEIC, nem kezeli oldalakként. Változatlanul, fordítás nélkül másolja be őket az eredménybe.

3. lépés: CBR-, CB7- vagy CBT-fájl átalakítása CBZ-vé

A .cbr fájl RAR-archívum, a .cb7 7z, a .cbt pedig tar. A .cbr .cbz-vé átnevezése nem konvertálja át. Az ellenőrző beolvassa a fájl első bájtjait. RAR-, 7z- vagy tar-archívum esetén leáll, és megmondja, melyikkel van dolgod. Ha ehelyett normál oldaljelentést ír ki, a fájl már egy más néven futó ZIP-archívum: nevezd át .cbz-vé, és térj vissza az 1. lépéshez.

Valódi RAR-, 7z- vagy tar-archívum átalakításához csomagold ki egy mappába a 7-Zip vagy a The Unarchiver segítségével. Ezután irányítsd az ellenőrzőt arra a mappára:

7z x "My Comic.cbr" -o"My Comic"
python3 check_comic_archive.py "My Comic" --repack "My Comic.cbz"

Az újracsomagolás az oldalakat és a ComicInfo.xml-t az új archívum legfelső szintjére teszi, még akkor is, ha a kicsomagolt fájlok egy almappában voltak.

A BookTranslator a CBR-, CB7- és CBT-feltöltéseket is elfogadja, de ezek egy másik folyamaton mennek át, egységes áron, és a következő szakaszban leírt oldalankénti folyamat a .cbz fájlokra vonatkozik. Az előzetes átalakítás néhány másodperc, és megkapod a 2. lépésből származó tiszta oldalneveket is.

4. lépés: A ComicInfo.xml megtartása, majd frissítése

Sok archívum tartalmaz egy ComicInfo.xml fájlt a címmel, sorozattal, nyelvvel és olvasási iránnyal. Formátumát az Anansi Project tartja karban. Két mezője számít itt:

  • Manga. A séma az Unknown, No, Yes és YesAndRightToLeft értékeket engedélyezi. Az utóbbi mondja meg az olvasónak, hogy jobbról balra lapozzon. Az oldalképek nem hordozhatják ezt a beállítást, ezért ha a fájl elveszik, az ezt használó olvasók elveszítik az olvasási irányt is.
  • LanguageISO. Ez a képregény nyelvkódját tartalmazza. Fordítás után még mindig a forrásnyelvet jelöli, például ja, amíg meg nem változtatod.

A BookTranslator változatlanul másolja a ComicInfo.xml-t a lefordított archívumba, így a jobbról balra olvasandó manga jobbról balra marad azokban az olvasókban, amelyek támogatják a jelzőt. Utána nyisd meg a fájlt egy szövegszerkesztőben, és változtasd meg a LanguageISO-t a célnyelvre. Ha a fájlban van <Pages> tábla, annak bejegyzései pozíció szerint hivatkoznak az oldalakra, így továbbra is illeszkednek, amíg nem rendezted át az oldalakat. Az olyan méretértékek, mint az ImageSize, az eredeti képeket írják le, és már nem fognak illeszkedni a lefordított PNG-oldalakhoz. Előfordulhat, hogy egy ilyen értékekre támaszkodó könyvtárkezelő eszköznek újra kell olvasnia a fájlt.

Mit tesz a BookTranslator egy CBZ-fájllal

Amikor feltöltesz egy .cbz képregényt, a BookTranslator:

  1. természetes sorrendben listázza az oldalképeket (PNG, JPEG, WebP, GIF, BMP vagy TIFF), és kihagyja a felesleges bejegyzéseket;
  2. minden oldalt ugyanazon a folyamaton futtat végig, mint az egyedi képeket. Megkeresi a szöveget, eltávolítja az eredeti feliratot, és a fordítását rajzolja a helyére, egyszerre néhány oldalon dolgozva;
  3. létrehoz egy új .cbz fájlt, amelyben minden lefordított oldal PNG-ként, ugyanazon a helyen van mentve, valamint az eredeti archívum összes többi fájlja is megtalálható benne.

Néhány részletet érdemes tudni a fizetés előtt:

  • Az ár az oldalak számától függ. Minden oldal egy teljes képes fordítást jelent, így a CBZ ára oldalanként, nem pedig szavanként kerül meghatározásra. Az árajánlat feltöltés után, a fizetés előtt jelenik meg. A felesleges bejegyzések és a nem oldalként szolgáló képek eltávolítása nem változtat rajta, mert azokat nem számolja oldalakként.
  • A sikertelen oldal megtartja az eredeti képét. Ha egy oldal nem sikerül, az a forrásnyelven és a megfelelő helyen marad, így a képregény továbbra is teljes. Ha az oldalak több mint 30%-a sikertelen, a feladat meghiúsul, ahelyett hogy egy nagyrészt lefordítatlan könyvet szállítana.
  • Csak a lefordított képregényt kapod meg. A képregényarchívumoknak nincs kétnyelvű, egymás melletti változatuk.
  • Az oldalak PNG formátumban térnek vissza. A lefordított archívum észrevehetően nagyobb lehet, mint egy JPEG eredeti.

Ha magára a japán szövegre is szükséged van, például függőleges oszlopokat és furiganát tartalmazó beszkennelt mangakötetekből, a japán függőleges szöveg OCR útmutatónk foglalkozik ezekkel az olvasási sorrenddel kapcsolatos problémákkal szöveges oldalak esetén.

Feltöltés előtt: fájlhozzáférés

Ez az útmutató feltételezi, hogy a képregény egy általad birtokolt fájl, amelyet szabadon meg tudsz nyitni, például DRM-mentes vásárlás, saját szkennelés vagy saját munka. Az áruházi alkalmazások gyakran védett formátumban szállítják a képregényeket, amelyek csak a saját olvasójukban nyílnak meg. Az ilyen fájlok átnevezése vagy újracsomagolása ezen nem változtat. Ha nem vagy biztos benne, először olvasd el a hogyan ellenőrizhető egy e-könyv DRM szempontjából fordítás előtt című cikket. Egy fájl letöltése szintén nem ad engedélyt annak megosztására vagy a fordítás közzétételére.

A képregény fordítása

Miután az ellenőrző nem jelez sorrendezési problémákat, és minden oldal PNG, JPEG vagy WebP formátumú, töltsd fel a CBZ-t a mangafordítóhoz, és a fizetés előtt ellenőrizd az oldalszám alapú árat. Amikor a fordítás elkészült, nyisd meg a használni kívánt olvasóban. Nézd meg a borítót, az első kétoldalas terjedelmet és az utolsó oldalt, majd javítsd a LanguageISO értékét a ComicInfo.xml fájlban. Hosszabb projektek esetén, például egy kiadni kívánt sorozatnál, a könyvfordítás teljes útmutatója foglalkozik az ellenőrzéssel, a terminológiával és a kötetek közötti konzisztenciával.

Kapcsolódó bejegyzések