BookTranslator
BookTranslator

Cara Menerjemahkan Arsip Komik CBZ atau CBR Tanpa Mengacaukan Urutan Halaman

Perbaiki urutan halaman, sampul, file sampah, dan pengaturan kanan-ke-kiri sebelum menerjemahkan komik CBZ atau CBR. Termasuk pemeriksa arsip gratis dan file contoh.

BookTranslator

BookTranslator Team

10 menit baca

File CBZ adalah arsip ZIP berisi gambar halaman, dan file CBR adalah ide yang sama tetapi dikemas dengan RAR. Tidak ada apa pun di dalam arsip yang menyatakan "ini halaman 2". Pembaca komik, dan alat penerjemah, menentukan urutan halaman dengan mengurutkan nama file. Jadi sebagian besar masalah pada komik terjemahan dimulai sebelum penerjemahan. Sampul muncul di belakang, halaman 10 muncul setelah halaman 1, atau manga kanan-ke-kiri terbuka kiri-ke-kanan.

Lakukan tiga pemeriksaan sebelum mengunggah. Pastikan nama halaman terurut dengan benar, hapus apa pun yang bukan halaman, dan pertahankan file ComicInfo.xml jika arsip memilikinya. Lalu unggah arsip sebagai CBZ. Kami menulis pemeriksa arsip komik gratis yang menjalankan ketiga pemeriksaan dalam sekejap dan dapat mengemas ulang file dengan nama halaman yang aman.

Jawaban Singkat: Apa yang Harus Dilakukan dengan Arsip Anda

Yang Anda milikiYang harus dilakukan sebelum mengunggah
File .cbz yang halamannya bernama 001.jpg, 002.jpg …Unggah apa adanya
File .cbz dengan halaman bernama 1.jpg … 10.jpg, atau cover.jpg tanpa nomorKemas ulang dengan nama berpadding nol (Langkah 2)
File .cbr, .cb7, atau .cbtEkstrak, lalu kemas ulang foldernya sebagai .cbz (Langkah 3)
Halaman disimpan sebagai AVIF, JPEG XL, atau HEICKonversi halaman tersebut ke PNG, JPEG, atau WebP terlebih dahulu
Manga yang seharusnya dibaca kanan ke kiriPertahankan ComicInfo.xml-nya, dan perbarui kolom bahasa setelah penerjemahan
Komik yang dibeli dari aplikasi tokoPastikan Anda benar-benar memiliki file tanpa DRM yang boleh Anda gunakan

Bagian di bawah menjelaskan setiap baris.

Mengapa Urutan Halaman Rusak: Pembaca Mengurutkan Nama File

Ada dua cara umum untuk mengurutkan nama file, dan keduanya tidak sepakat begitu nomor halaman memiliki panjang berbeda:

  • Pengurutan karakter biasa membandingkan nama satu karakter demi satu karakter. 10.jpg dimulai dengan 1, jadi muncul sebelum 2.jpg. Anda mendapatkan urutan 1, 10, 11, 12, 2, 3 …
  • Pengurutan alami membaca rangkaian digit sebagai angka, sehingga 2 muncul sebelum 10. Anda mendapatkan 1, 2, 3 … 10, 11, 12.

Banyak pembaca komik mengurutkan secara alami, tetapi Anda tidak bisa mengandalkannya, dan Anda tidak bisa mengontrol pembaca mana yang akan membuka file terjemahan. Solusi yang berfungsi di mana saja adalah menambahkan nol di depan angka: 001.jpg … 010.jpg akan terurut sama dengan kedua metode tersebut.

Dua masalah penamaan lain yang mudah terlewat:

  • Sampul tanpa nomor akan terurut paling akhir. Kedua metode pengurutan menempatkan angka sebelum huruf. Dalam arsip dengan cover.jpg dan 001.jpg … 024.jpg, sampul menjadi halaman terakhir.
  • Folder bab diurutkan sebagai bagian dari nama. Chapter 10/01.jpg dan Chapter 2/01.jpg membandingkan nama folder terlebih dahulu, jadi nomor folder memerlukan perhatian yang sama seperti nomor halaman.

BookTranslator mengurutkan halaman .cbz dengan pengurutan alami yang tidak membedakan huruf besar-kecil dan melewati entri sampah seperti folder __MACOSX, file titik seperti .DS_Store, dan Thumbs.db. Ini berarti halaman 2 muncul sebelum halaman 10 saat file diterjemahkan. Namun, halaman terjemahan mempertahankan nama aslinya. Jika Anda mengunggah 1.jpg … 12.jpg, Anda akan menerima 1.png … 12.png, dan pembaca yang menggunakan pengurutan biasa akan tetap mengacaukannya. Mengganti nama sebelum mengunggah akan memperbaiki urutan untuk semua pembaca.

Langkah 1: Periksa Arsip

Unduh check_comic_archive.py dan jalankan pada komik Anda. Ini memerlukan Python 3.8 atau lebih baru dan tidak memerlukan apa pun lagi, serta tidak mengunggah apa pun:

python3 check_comic_archive.py "My Comic.cbz"

Untuk menunjukkan temuannya, kami membuat arsip contoh kecil dengan masalah yang sering kami lihat pada file komik. Arsip ini memiliki dua belas halaman yang diberi nomor tanpa nol di depan, cover.png tanpa nomor, satu halaman ganda, file AVIF, entri sampah macOS, dan ComicInfo.xml yang ditandai sebagai manga kanan-ke-kiri. README menjelaskan cara membangunnya kembali dengan make_test_comic.py. Berikut adalah akhir dari laporan:

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.

Di atasnya, laporan mencantumkan setiap halaman dalam urutan baca beserta ukurannya. Laporan menandai halaman yang lebih lebar daripada tingginya sebagai halaman ganda, dan halaman yang lebih dari tiga kali lebih tinggi daripada lebarnya sebagai strip panjang, seperti bab webtoon. Itulah halaman-halaman yang perlu diperiksa terlebih dahulu saat terjemahan kembali.

Untuk nama file ASCII biasa, pengurutan alami pemeriksa mengikuti perbandingan yang sama dengan yang digunakan BookTranslator untuk halaman .cbz, termasuk folder bab, huruf besar-kecil campuran, spasi, tanda hubung, dan garis bawah. Nama dengan huruf beraksen atau kana Jepang dapat terurut berbeda antar alat, yang merupakan satu alasan lagi untuk mengganti nama halaman menjadi angka tanpa nol di depan yang sederhana.

Langkah 2: Kemas Ulang dengan Nama Halaman yang Aman

Jika laporan mencantumkan masalah pengurutan, lihat dulu urutan yang tercetak, lalu kemas ulang:

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

--repack menulis CBZ baru. Halaman diganti namanya menjadi 0001, 0002 … sesuai urutan yang ditampilkan, entri sampah dibuang, dan setiap file lainnya, termasuk ComicInfo.xml, disalin tanpa perubahan. --first memindahkan halaman ke depan, yang merupakan cara Anda mengembalikan sampul tanpa nomor ke tempat yang seharusnya. Anda dapat mengulanginya untuk halaman kedua, seperti halaman judul. Penggantian nama mengunci urutan, jadi perbaiki sebelum Anda mengemas ulang, bukan sesudahnya. Jika arsip memiliki tabel halaman ComicInfo.xml, memindahkan halaman akan menggeser posisinya; pemeriksa mengingatkan Anda untuk memeriksa entri seperti penanda sampul depan setelahnya.

Pada arsip contoh, file yang dikemas ulang memiliki halaman 0001.png … 0013.png dengan sampul di depan dan tanpa entri sampah. Satu-satunya peringatan yang tersisa adalah file AVIF. Pemeriksa tidak dapat mengonversi gambar; buka halaman itu di editor gambar dan ekspor sebagai PNG, JPEG, atau WebP. Format seperti AVIF, JPEG XL, dan HEIC tidak diperlakukan sebagai halaman. Format tersebut disalin ke hasil apa adanya, tanpa diterjemahkan.

Langkah 3: Ubah File CBR, CB7, atau CBT Menjadi CBZ

File .cbr adalah arsip RAR, .cb7 adalah 7z, dan .cbt adalah tar. Mengganti nama .cbr menjadi .cbz tidak mengonversinya. Pemeriksa membaca byte pertama file. Untuk arsip RAR, 7z, atau tar, pemeriksa berhenti dan memberi tahu Anda jenisnya. Jika ia mencetak laporan halaman normal, file tersebut sudah merupakan arsip ZIP dengan nama lain: ganti namanya menjadi .cbz dan kembali ke Langkah 1.

Untuk mengonversi arsip RAR, 7z, atau tar yang sebenarnya, ekstrak ke folder dengan 7-Zip atau The Unarchiver. Lalu arahkan pemeriksa ke folder tersebut:

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

Pengemasan ulang menempatkan halaman dan ComicInfo.xml di tingkat atas arsip baru, bahkan jika file yang diekstrak berada di subfolder.

BookTranslator juga menerima unggahan CBR, CB7, dan CBT, tetapi file tersebut melewati alur yang berbeda dengan harga tetap, dan proses halaman demi halaman yang dijelaskan di bagian berikutnya berlaku untuk file .cbz. Mengonversi terlebih dahulu hanya membutuhkan beberapa detik dan juga memberi Anda nama halaman yang bersih dari Langkah 2.

Langkah 4: Pertahankan ComicInfo.xml, Lalu Perbarui

Banyak arsip menyertakan file ComicInfo.xml dengan judul, seri, bahasa, dan arah baca. Formatnya dikelola oleh Anansi Project. Dua bidangnya penting di sini:

  • Manga. Skema mengizinkan Unknown, No, Yes, dan YesAndRightToLeft. Yang terakhir adalah cara arsip memberi tahu pembaca untuk membalik halaman dari kanan ke kiri. Gambar halaman tidak dapat membawa pengaturan itu, jadi jika file hilang, pembaca yang menggunakannya juga kehilangan arah baca.
  • LanguageISO. Ini menyimpan kode bahasa komik. Setelah terjemahan, ia masih menyebutkan bahasa sumber, misalnya ja, sampai Anda mengubahnya.

BookTranslator menyalin ComicInfo.xml ke arsip terjemahan tanpa perubahan, sehingga manga kanan-ke-kiri tetap kanan-ke-kiri di pembaca yang mendukung tanda tersebut. Buka file di editor teks setelahnya dan ubah LanguageISO ke bahasa target. Jika file memiliki tabel <Pages>, entrinya menunjuk ke halaman berdasarkan posisi, jadi entri tersebut tetap cocok selama Anda tidak mengubah urutan halaman. Nilai ukuran seperti ImageSize menggambarkan gambar asli dan tidak akan lagi cocok dengan halaman PNG terjemahan. Alat pustaka yang mengandalkannya mungkin perlu memindai ulang file.

Apa yang Dilakukan BookTranslator dengan CBZ

Saat Anda mengunggah komik .cbz, BookTranslator:

  1. mendaftar gambar halaman (PNG, JPEG, WebP, GIF, BMP, atau TIFF) dalam urutan alami dan melewati entri sampah;
  2. memproses setiap halaman melalui alur yang sama seperti untuk gambar tunggal. BookTranslator menemukan teks, menghapus tulisan asli, dan menggambar terjemahan di tempatnya, dengan mengerjakan beberapa halaman sekaligus;
  3. membuat .cbz baru dengan setiap halaman terjemahan disimpan sebagai PNG di posisi yang sama, plus semua file lain dari arsip asli.

Beberapa detail perlu diketahui sebelum Anda membayar:

  • Harga bergantung pada jumlah halaman. Setiap halaman adalah proses terjemahan gambar penuh, jadi CBZ dihargai per halaman, bukan per kata. Penawaran muncul setelah unggah, sebelum pembayaran. Menghapus entri sampah dan gambar bukan halaman tidak mengubahnya, karena itu tidak dihitung sebagai halaman.
  • Halaman yang gagal tetap memakai gambar aslinya. Jika satu halaman gagal, halaman itu tetap dalam bahasa sumber dan di posisi yang benar, sehingga komik tetap lengkap. Jika lebih dari 30% halaman gagal, tugas dinyatakan gagal alih-alih mengirimkan buku yang sebagian besar belum diterjemahkan.
  • Anda hanya mendapatkan komik terjemahan. Arsip komik tidak memiliki versi dwibahasa berdampingan.
  • Halaman dikembalikan sebagai PNG. Arsip terjemahan bisa jauh lebih besar daripada asli JPEG.

Jika Anda juga memerlukan teks Jepangnya sendiri, misalnya dari volume manga hasil pindai dengan kolom vertikal dan furigana, panduan kami tentang OCR teks vertikal Jepang membahas masalah urutan baca untuk halaman teks.

Sebelum Mengunggah: Akses File

Panduan ini mengasumsikan komik adalah file milik Anda dan dapat dibuka dengan bebas, seperti pembelian tanpa DRM, hasil pindai Anda sendiri, atau karya Anda sendiri. Aplikasi toko sering mengirimkan komik dalam format terproteksi yang hanya bisa dibuka di pembaca mereka sendiri. Mengganti nama atau mengemas ulang file tersebut tidak mengubahnya. Jika Anda tidak yakin, baca dulu cara memeriksa ebook dari DRM sebelum terjemahan. Mengunduh file juga tidak memberi Anda izin untuk membagikan atau menerbitkan terjemahannya.

Terjemahkan Komik

Setelah pemeriksa melaporkan tidak ada masalah urutan dan setiap halaman adalah PNG, JPEG, atau WebP, unggah CBZ ke penerjemah manga dan periksa harga berdasarkan jumlah halaman sebelum Anda membayar. Saat terjemahan siap, buka di pembaca yang akan Anda gunakan. Periksa sampul, hamparan dua halaman pertama, dan halaman terakhir, lalu perbaiki LanguageISO di ComicInfo.xml. Untuk proyek yang lebih panjang, seperti seri yang akan Anda terbitkan, panduan lengkap terjemahan buku kami membahas tinjauan, terminologi, dan konsistensi antarvolume.

Artikel Terkait