ترجمة RPG Maker MV مقابل MZ: ما الذي يتغيّر للمترجمين
يتشارك المحرّكان معظم مساحة الترجمة، لكن معاملات الإضافات ورموز التحكم وبنية مجلد البيانات تتغيّر في MZ. ملاحظات عملية للمترجمين المنتقلين بين مشاريع MV وMZ.
من وجهة نظر المترجم، فإن RPG Maker MV وMZ هما بنسبة 90% المحرّك نفسه. كلاهما يخزّن الحوارات والخيارات والعناصر والمهارات والمصطلحات بصيغة JSON. كلاهما يستخدم رموز أوامر الأحداث نفسها (401 للحوار، 102 للخيارات، 320/324/325 للنص المتحرّك). كلاهما يلتزم برموز التحكم نفسها (\C[1] و\N[2] و\V[3] وغيرها). أما النسبة المتبقية 10% — بنية المجلدات، وصيغة معاملات الإضافات، وحفنة من رموز الأحداث الجديدة — فهي ما يُعثِر المترجمين عند الانتقال بين الاثنين. هذه التدوينة مرجع سريع.
بنية المجلدات: أبرز فرق مرئي
- MV يخزّن ملفات البيانات في
www/data/*.json. وتقع بجانبها أصول اللعبة والإضافات وبيئة التشغيل المحزّمة مع Node. - MZ يُسقِط غلاف
www/ويخزّن البيانات مباشرة فيdata/*.json. كما أن بيئة التشغيل أخف (لا غلاف محزّم مع Node افتراضيًا؛ إذ يُشحن MZ كتطبيق ويب ثابت بأسلوب NW.js).
بالنسبة إلى RuneTranslate يكون هذا غير مرئي — إذ يفحص كشف المحرّك كلا المسارين ويختار الموجود منهما. لكن إذا كنت تفعل أي شيء يدويًا — كنسخ ترجمة بين الألعاب، أو فحص ملف بمحرّر خارجي — فتذكّر البادئة.
الحوار والخيارات والنص المتحرّك: متطابقة
بنية أوامر الأحداث متطابقة في المحرّكين، ما يعني أن مساحة الترجمة متطابقة:
401— سطر حوار في أمر Show Text.405— أسطر متابعة لأمر Show Text نفسه (عندما يمتد النص عبر عدة نوافذ عرض).102— نص خيار من الخيارات.320و324و325— كتل نص متحرّك (تُستخدم للشارات الختامية ومشاهد المونولوج).
يحلّل RuneTranslate الخمسة جميعها بشكل متطابق في MV وMZ. الشيء الوحيد الذي يختلف هو أي رمز يميل إلى الظهور: تستخدم نصوص MZ كتلة النص المتحرّك أكثر في القوالب الافتراضية، لكن هذا تفضيل المؤلف لا فرق في المحرّك.
التفاف السطر عند 46 حرفًا
يكسر كلٌّ من MV وMZ أسطر الحوار عند حافة نافذة الرسالة. تتّسع نافذة الرسالة الافتراضية لنحو 46 حرفًا أحادي البايت في السطر عند حجم الخط الافتراضي؛ والأسطر الأطول تلتفّ إلى النافذة المرئية التالية. يلتفّ RuneTranslate بالحوار تلقائيًا عند 46 حرفًا عند التصدير في كلا المحرّكين حتى لا تفيض الأسطر المترجمة من صندوق الكلام.
تحفّظ: إذا استخدمت اللعبة خطًا مخصّصًا أعرض أو أضيق، فقد يحتاج الالتفاف إلى ضبط. حاليًا هذا ثابت عام في مُهايئ RPG Maker؛ وإن وجدت لعبة يبدو فيها الأمر غير سليم، فالحل البديل هو تقصير الأسطر الطويلة يدويًا في المحرّر قبل التصدير.
سلاسل معاملات الإضافات: حيث يتباين MZ
يخزّن كلا المحرّكين إعدادات الإضافات في js/plugins.js (MV) أو js/plugins.js (MZ — المسار نفسه، لكن بدون بادئة www/). بنية الصيغة واحدة: ملف JS يُصرّح بكتلة PluginManager.parameters لكل إضافة. ويخزّن كلا المحرّكين السلاسل المرئية مضمّنة داخل تلك الكتلة.
الفرق هو أي الإضافات تُشحن افتراضيًا وكيف تُصرّح عن معاملاتها. إن إضافات MZ الافتراضية بأسلوب Yanfly تستخدم مخططات معاملات متداخلة ومهيكلة على نحو أكثر تكرارًا، ما قد يُنتج سلاسل مُرمَّزة بـ JSON داخل سلسلة مُرمَّزة بـ JSON. يتعامل RuneTranslate مع أعماق التداخل الشائعة، لكن إذا استخدمت إضافة ترميزًا مخصّصًا (مثل JSON مغلّف بـ Base64)، فقد تحتاج إلى ترجمة سلاسل تلك الإضافة يدويًا.
نصيحة عملية: إذا رأيت في المشروع سلاسل تبدو مثل {"text":"こん..."} — فتلك كتلة داخلية مُرمَّزة بـ JSON تحلّلها الإضافة أثناء التشغيل. اليابانية ما تزال موجودة، لكنها مغلّفة فحسب. استخدم أداة البحث والاستبدال في المحرّر للفحص العشوائي بعد الترجمة.
رموز التحكم: متطابقة، لا تدعها تضيع أبدًا
يدعم كلا المحرّكين العائلة نفسها من رموز التحكم:
\C[n]— يبدّل لون النص إلى فهرس اللوحةn.\N[n]— يطبع اسم الشخصيةn.\V[n]— يطبع قيمة متغيّر اللعبةn.\.و\|و\^— مُعدِّلات إيقاف مؤقت / انتظار.
هذه يجب أن تنجو من الترجمة حرفيًا. فإذا أسقط مزوّد \N[1] أو أفسده، طبعت اللعبة نفايات شرطة مائلة عكسية خامًا بدلًا من اسم اللاعب. يقوم RuneTranslate بإخفاء كل رمز تحكم بعنصر نائب معتم قبل الإرسال إلى المزوّد، ثم يستعيدها بدقة — وإن فشل أي عنصر نائب في العودة سليمًا، وُسِمت الوحدة بأنها فاشلة لتبقى اليابانية الأصلية.
نصائح عملية لسير العمل
- لا تحرّر ملفات JSON يدويًا. استخدم محرّر RuneTranslate المدمج للإصلاحات اليدوية. يتتبّع المحرّر الوحدات التي حرّرتها، بحيث تحافظ إعادة تشغيل المترجم على عملك.
- ترجم معاملات الإضافات أخيرًا. معظم سلاسل الإضافات نصوص إعدادات / واجهة لا تحتاج إلى كثير من التحرير اليدوي. شغّل الحوار أولًا، وأصلح الأسطر التي تحتاج ذلك يدويًا، ثم شغّل الإضافات في تمريرة منفصلة بمزوّد رخيص.
- احتفظ بملفات الحفظ عبر إعادة الترجمة. يحمّل مشغّل المحرّك ملفات الحفظ حسب فهرس صف البيانات لا حسب السلسلة النصية. وطالما لم تُعِد ترتيب الأحداث، يمكن للاعبين الاحتفاظ بملفات حفظهم عبر إعادة ترجمة إلى الإنجليزية.
للاطلاع على الدليل الكامل لـ RPG Maker، انظر صفحة محرّك RPG Maker. ولمقارنة مزوّدي الترجمة لألعاب RPG Maker، انظر أفضل مزوّدي ترجمة الألعاب اليابانية.
مستعد لتجربة RuneTranslate؟
تفتح الباقة المجانية كل محرك + كل مزود ترجمة. باقة Supporter ($3/mo) تفتح السرعة الكاملة.
التنزيل لنظام Windows