पेज क्रम को बिगाड़े बिना 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.jpg1से शुरू होता है, इसलिए यह2.jpgसे पहले आता है। आपको क्रम 1, 10, 11, 12, 2, 3 … मिलता है। - एक प्राकृतिक क्रम अंकों की श्रृंखला को एक संख्या के रूप में पढ़ता है, इसलिए
210से पहले आता है। आपको 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 को मांगा अनुवादक पर अपलोड करें और भुगतान करने से पहले पेज-गणना मूल्य की जाँच करें। जब अनुवाद तैयार हो, तो इसे उस रीडर में खोलें जिसे आप उपयोग करने की योजना बनाते हैं। कवर, पहला दोहरा-पेज फैलाव और अंतिम पेज देखें, फिर ComicInfo.xml में LanguageISO को ठीक करें। लंबी परियोजनाओं के लिए, जैसे कि कोई श्रृंखला जिसे आप प्रकाशित करने की योजना बनाते हैं, पुस्तक अनुवाद की पूर्ण मार्गदर्शिका समीक्षा, शब्दावली और संस्करणों में निरंतरता को कवर करती है।
संबंधित लेख





