محرك مدعوم · Artemis
Artemis (من iMel Inc. / Mikage) هو محرك Windows المكتوب بلغة Lua الذي يقف خلف شريحة كبيرة من الروايات المرئية اليابانية الحديثة — نحو 730 إصداراً على VNDB. يقرأ RuneTranslate أرشيفات موارد .pfs الخاصة بالمحرك بلغة TypeScript خالصة، دون أدوات أو مكوّنات مرافقة خارجية: يتعامل مع صيغ PF8 وPF6 وPF2، بما فيها تشفير XOR المعتمد على SHA-1 في PF8 (مفتاح كل مدخل هو SHA-1 لفهرس الأرشيف)، فتُفتح السكربتات المحزّمة دون GARbro. ومن داخل الأرشيف يستخرج الحوار وأسماء الشخصيات والخيارات من سكربتات .ast (جداول Lua) / .txt (سطرية) المقروءة وكذلك سيناريوهات ASB الثنائية المُصرَّفة التي تشحنها كثير من الألعاب فعلاً — الصيغة التي تبدأ بعلامة ASB، والمعاد تسميتها غالباً إلى امتداد مخصّص (تستخدم Crystal Rain مثلاً امتداد .iet). يكتشف RuneTranslate السيناريو المُصرَّف بتوقيعه لا بامتداده، ويفك ترميز حواره، ويسرد كل سطر. يحافظ على أوامر المحرك المضمّنة — الرابي / الفوريغانا، ولوحات الأسماء، واللون، وانتظارات النقر — وفواصل الأسطر عبر الترجمة بحيث تنجو العلامات سليمة. أما التصدير، فبما أن Artemis يقرأ سكربتاته من أرشيفات .pfs المركّبة، يبني RuneTranslate رقعة تجاوز صغيرة — root.pfs.NNN — لكل أرشيف .pfs مصدري، تحمل سكربتاتك المترجمة فقط؛ ويركّب Artemis أرشيفات .pfs المرقّمة أخيراً، فتحجب الرقعة الأصول وتحمّل اللعبة ترجمتك دون إعادة تحزيم كامل لأرشيف الأساس (تُكتب السكربتات أيضاً حرةً كإضافة غير ضارة). إنها فكرة رقعة التجاوز نفسها المستخدمة في مسار patch.xp3 لـ 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 إلى OpenRouter أو NanoGPT. يشدّ مرور ثانٍ اختياري من مُنقّح الذكاء الاصطناعي الصياغة الحرفية.
تُضمّن سكربتات Artemis أوامر الرابي / الفوريغانا ولوحات الأسماء واللون وانتظار النقر داخل الحوار. يجمّد RuneTranslate كلاً منها — إضافةً إلى فواصل الأسطر الأصلية — كعناصر نائبة أثناء الترجمة ويستعيدها عند الإخراج، بحيث يحتفظ السطر المترجم بالفوريغانا نفسها ولوحة الاسم نفسها والإيقاع نفسه كالأصل.
عند التصدير، ينسخ RuneTranslate اللعبة ويبني رقعة تجاوز صغيرة — root.pfs.NNN — لكل .pfs مصدري، تحمل سكربتات .ast / .txt المترجمة فقط (وتُكتب أيضاً حرةً كإضافة غير ضارة). يركّب Artemis أرشيفات .pfs المرقّمة أخيراً، فتحجب الرقعة الأصول وتقرأ اللعبة ترجمتك — دون إعادة تحزيم كامل، وتبقى أرشيفات الأساس دون مساس. شغّل النسخة المصدَّرة وستعمل بلغتك.