محرك مدعوم · YU-RIS
YU-RIS (بقلم raiL-soft) هو محرك سكربتات Windows طويل الأمد وراء مئات الروايات المرئية اليابانية الدوجين والتجارية. تعيش موارده في أرشيفات حزم .ypf، والسيناريو مُصرَّف إلى سكربتات YSTB (ملفّات .ybn داخل ysbin.ypf، في مسارات داخلية مثل ysbin/yst00000.ybn). يقرأ RuneTranslate حزم .ypf بـ TypeScript خالص — دون GARbro أو أدوات خارجية — فيفكّ ضغط المدخلات ويستعيد مفتاح اسم الملف لكل أرشيف، ثم يحلّل سكربتات YSTB المُصرَّفة: يقسّم الأقسام الأربعة (التعليمات، ووصّافات الوسائط، وقيم النصوص، وأرقام الأسطر) ويستعيد مفتاح XOR للسكربت بطول 4 بايت تلقائيًا من جدول الوصّافات، فتُفتح السكربتات المشفّرة دون مطاردة مفتاح. ومن هناك يستخرج الحوار الياباني من جدول النصوص ويسرد كل سطر في المحرّر، تاركًا معاملات أوامر المحرك وأسماء المتغيّرات ومسارات الأصول مُستبعَدة افتراضيًا فلا تترجم أبدًا شيئًا يقارنه منطق السكربت. عند التصدير يعيد بناء جدول النصوص — مُرقِّعًا كل إزاحة فتتّسع الترجمات الأطول أو الأقصر — ويعيد تطبيق مفتاح XOR نفسه، ويكتب .ybn المترجم سائبًا في مساره داخل الأرشيف. ولأن زمن تشغيل YU-RIS يقرأ ملفًا سائبًا على القرص تفضيلًا على المسار نفسه المحزَّم في .ypf، تحمّل اللعبة ترجمتك ببساطة — دون إعادة تحزيم. لا يزال هذا المحرك قيد التحقّق عبر الألعاب الحقيقية، فاختبر النسخة المصدَّرة قبل إعادة التوزيع.
تتّكئ الروايات المرئية على طاقم ثابت ومصطلحات متكرّرة عبر آلاف الأسطر، وستكتب الترجمة الآلية اسم بطلة بثلاث طرق مختلفة عبر ثلاثة فصول. ضع في المسرد شخصياتك وأسماء الأماكن والمصطلحات المتكرّرة مسبقًا حتى يصيّرها كل سطر حوار بشكل متطابق. أساسيات المسرد →
وجّه RuneTranslate إلى دليل اللعبة — المجلّد الذي فيه yu-ris.exe الخاص باللعبة وحزم .ypf (عادةً في مجلّد فرعي pac/، مع السكربتات في ysbin.ypf). إن كنت قد فككت تحزيم اللعبة بـ GARbro، يُكتشف مجلّد ysbin/ سائب من سكربتات .ybn أيضًا. يتعرّف كشف المحرك على تخطيط YU-RIS تلقائيًا؛ ولا يُعدَّل مجلّدك الأصلي أبدًا.
يفتح RuneTranslate حزم .ypf بـ TypeScript خالص، ويفكّ ضغط المدخلات، ويحلّل سكربتات YSTB المُصرَّفة بداخلها. يستعيد مفتاح XOR بطول 4 بايت لكل سكربت تلقائيًا من جدول وصّافات الوسائط — دون مطاردة مفتاح — ويفكّ ترميز جدول نصوص Shift-JIS، ويسرد كل سطر ياباني في المحرّر مُجمَّعًا حسب ملف السكربت. معاملات أوامر المحرك وأسماء المتغيّرات ومسارات الأصول تظهر لكنها مُستبعَدة افتراضيًا فيبقى منطق القصة سليمًا.
هذه الألعاب كثيفة بالحوار وحسّاسة للنبرة، فيقرأ نموذج لغة (OpenAI GPT-4o / Anthropic Claude) أو DeepL أفضل عادةً؛ ويغطّي Google Translate المجاني أو نموذج محلي (Ollama / LM Studio) نصوص القوائم القصيرة والخيارات، ويمكنك توجيه مزوّد OpenAI-compatible إلى OpenRouter أو NanoGPT. تمرير ثانٍ اختياري بمنقّح الذكاء الاصطناعي يشدّ الصياغة الحرفية.
يُمرّر نص رسائل YU-RIS رموز تحكّم بالخط المائل العكسي (سطر جديد، لون، ruby) ووسومًا بين أقواس عبر الحوار. يجمّد RuneTranslate كلًّا منها كعناصر نائبة رقمية أثناء الترجمة ويستعيدها عند الخروج، فيبقى السطر المترجم بنفس التنسيق ونفس الإيقاع كالأصل.
عند التصدير، ينسخ RuneTranslate اللعبة ويعيد بناء كل سكربت YSTB مترجم — مُرقِّعًا إزاحات جدول النصوص فتتّسع الترجمة بأي طول ومُعيدًا تطبيق مفتاح XOR نفسه — ثم يكتبه سائبًا في مساره الأصلي داخل الأرشيف (مثل ysbin/yst00000.ybn). يفضّل زمن تشغيل YU-RIS ملفًا سائبًا على المسار نفسه المحزَّم في .ypf، فتقرأ اللعبة ترجمتك دون إعادة تحزيم. شغّل النسخة المصدَّرة فتُلعب بلغتك.