محرك مدعوم · Artemis
Artemis (بقلم iMel Inc. / Mikage) هو محرك Windows المكتوب بـ Lua وراء شريحة كبيرة من الروايات المرئية اليابانية الحديثة — نحو 730 إصدارًا على VNDB تقوم عليه، ما يجعله من أحدث المحركات التي يدعمها RuneTranslate. يقرأ RuneTranslate أرشيفات موارد .pfs الخاصة بالمحرك بـ TypeScript خالص، دون أدوات خارجية أو مساعدات: يتعامل مع صيغ PF8 وPF6 وPF2، بما فيها تشفير XOR بمفتاح SHA-1 في PF8 (المفتاح لكل مدخل هو SHA-1 لفهرس الأرشيف)، فتُفتح السكربتات المحزَّمة دون GARbro أو أي تنزيل إضافي. ومن داخل الأرشيف يستخرج الحوار وأسماء الشخصيات والخيارات من كلٍّ من سكربتات .ast (جدول Lua) / .txt (المُوجَّهة بالأسطر) المقروءة ومن سيناريوهات ASB الثنائية المُصرَّفة التي تشحنها كثير من الألعاب فعليًا — الصيغة التي تبدأ بعلامة ASB، والمُعاد تسميتها كثيرًا إلى امتداد مخصّص (Crystal Rain مثلًا يستخدم .iet). يكتشف RuneTranslate السيناريو المُصرَّف بتوقيعه لا بامتداده، ويفكّ ترميز حواره، ويسرد كل سطر في المحرّر. يحفظ أوامر المحرك السطرية — ruby / الفوريغانا، ولوحات الأسماء، واللون، وانتظارات النقر — وفواصل الأسطر عبر الترجمة فتبقى العلامات دون مساس. يستخدم التصدير تجاوز الملفّات السائبة: تُكتب السكربتات المترجمة سائبة بجانب الأرشيفات، ولأن زمن تشغيل Artemis يفضّل سكربتًا سائبًا على القرص على المسار نفسه المحزَّم في .pfs، تقرأ اللعبة ترجمتك ببساطة — دون إعادة تحزيم إطلاقًا (النهج نفسه الذي يستخدمه تدفّق ترقيع Kirikiri). لا يزال هذا المحرك قيد التحقّق عبر الألعاب الحقيقية، فاختبر النسخة المصدَّرة قبل إعادة التوزيع.
تتّكئ الروايات المرئية على طاقم ثابت ومصطلحات متكرّرة عبر آلاف الأسطر، وستكتب الترجمة الآلية اسم بطلة بثلاث طرق مختلفة عبر ثلاثة فصول. ضع في المسرد شخصياتك وأسماء الأماكن والمصطلحات المتكرّرة مسبقًا حتى يصيّرها كل سطر حوار وكل خيار بشكل متطابق. أساسيات المسرد →
وجّه RuneTranslate إلى دليل اللعبة — المجلّد الذي فيه .exe الخاص باللعبة وأرشيفات موارد .pfs (كثيرًا root.pfs / data.pfs وأخواتها). يتعرّف كشف المحرك على تخطيط Artemis تلقائيًا؛ ولا يُعدَّل مجلّدك الأصلي أبدًا.
يفتح RuneTranslate أرشيفات .pfs بـ TypeScript خالص — PF8 وPF6 وPF2 — ويفكّ بشفافية تشفير XOR بمفتاح SHA-1 في PF8، دون حاجة لـ GARbro أو مساعد. ثم يحلّل سكربتات .ast (جدول Lua) و.txt (المُوجَّهة بالأسطر) بداخلها، مستخرجًا الحوار وأسماء الشخصيات والخيارات، ويسرد كل سطر قابل للترجمة في المحرّر مُجمَّعًا حسب الملف. تُقنَّع أوامر المحرك السطرية وفواصل الأسطر خلف عناصر نائبة رقمية فلا يشوّهها المزوّد أبدًا.
هذه الألعاب كثيفة بالحوار وحسّاسة للنبرة، فيقرأ نموذج لغة (OpenAI GPT-4o / Anthropic Claude) أو DeepL أفضل عادةً؛ ويغطّي Google Translate المجاني أو نموذج محلي (Ollama / LM Studio) نصوص القوائم القصيرة والخيارات، ويمكنك توجيه مزوّد OpenAI-compatible إلى OpenRouter أو NanoGPT. تمرير ثانٍ اختياري بمنقّح الذكاء الاصطناعي يشدّ الصياغة الحرفية.
تُمرّر سكربتات Artemis أوامر ruby / الفوريغانا ولوحة الاسم واللون وانتظار النقر عبر الحوار. يجمّد RuneTranslate كلًّا منها — إضافة إلى فواصل الأسطر الأصلية — كعناصر نائبة أثناء الترجمة ويستعيدها عند الخروج، فيبقى السطر المترجم بنفس الفوريغانا ونفس لوحة الاسم ونفس الإيقاع كالأصل.
عند التصدير، ينسخ RuneTranslate اللعبة ويكتب سكربتات .ast / .txt المترجمة كملفّات سائبة في مساراتها الأصلية داخل الأرشيف. يفضّل زمن تشغيل Artemis سكربتًا سائبًا على القرص على المسار نفسه المحزَّم في .pfs، فتقرأ اللعبة ترجمتك — دون إعادة تحزيم وتُترك الأرشيفات دون مساس. شغّل النسخة المصدَّرة فتُلعب بلغتك.