كيفية ترجمة أرشيف كوميكس 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.
إذا كنت بحاجة أيضًا إلى النص الياباني نفسه، على سبيل المثال من مجلدات المانغا الممسوحة ضوئيًا ذات الأعمدة الرأسية والـ furigana، فإن دليلنا حول التعرف الضوئي على النص الياباني الرأسي يغطي مشكلات ترتيب القراءة تلك لصفحات النص.
قبل الرفع: الوصول إلى الملف
يفترض هذا الدليل أن الكوميكس ملف تملكه ويمكنك فتحه بحرية، مثل عملية شراء خالية من إدارة الحقوق الرقمية، أو مسوحاتك الخاصة، أو عملك الخاص. غالبًا ما تسلّم تطبيقات المتاجر الكوميكس بصيغ محمية لا تُفتح إلا داخل قارئها الخاص. إعادة تسمية تلك الملفات أو إعادة تجميعها لا يغيّر ذلك. إذا لم تكن متأكدًا، فاقرأ أولًا كيفية التحقق من وجود إدارة الحقوق الرقمية في كتاب إلكتروني قبل الترجمة. كما أن تنزيل ملف لا يمنحك إذنًا بمشاركة ترجمة له أو نشرها.
ترجم الكوميكس
بمجرد أن يُبلغك الفاحص بعدم وجود مشكلات في الترتيب وأن كل صفحة بصيغة PNG أو JPEG أو WebP، ارفع ملف CBZ إلى مترجم المانغا وتحقق من سعر عدد الصفحات قبل الدفع. عندما تصبح الترجمة جاهزة، افتحها في القارئ الذي تنوي استخدامه. ألقِ نظرة على الغلاف وأول صفحة مزدوجة والصفحة الأخيرة، ثم صحّح LanguageISO في ComicInfo.xml. للمشاريع الأطول، مثل سلسلة تخطط لنشرها، يغطي دليلنا الكامل لترجمة الكتب المراجعة والمصطلحات والاتساق عبر المجلدات.
مقالات ذات صلة





