كيفية ترجمة الروايات المرئية بمحرك Artemis إلى الإنجليزية
يترجم RuneTranslate الروايات المرئية بمحرك Artemis (iMel/Mikage) إلى الإنجليزية وأكثر من 30 لغة — بقراءة أرشيفات .pfs (بما فيها تشفير PF8)، واستخراج الحوار والخيارات، وتصدير رقعة تجاوز root.pfs تُحمّلها اللعبة. أفضل جهد ممكن.
لـترجمة ألعاب محرك Artemis، يقرأ RuneTranslate إطاراً طالما كان شبه مستحيل المنال لمترجمي المعجبين: محرك Artemis، إطار الروايات المرئية القائم على Lua وراء مئات الإصدارات اليابانية. افتح مجلد لعبة Artemis وستجد كومة من أرشيفات .pfs ولا شيء مقروءاً. يكتشف RuneTranslate المحرك، ويفتح تلك الأرشيفات بلغة TypeScript خالصة (بالتشفير وكل شيء)، ويقرأ الحوار وأسماء الشخصيات والخيارات من سكربتاته، ويصدّر نسخةً مترجمة تحمّلها اللعبة بنفسها.
لدى Artemis سنوات من التباين لكل استوديو، فإن وجّهت RuneTranslate إلى لعبة Artemis ولم يكتشفها، أو لم يفتحها، أو صدّر شيئاً لا تحمّله اللعبة، فأخبرنا — المزيد عن الكيفية في النهاية.
ما هو محرك Artemis فعلاً
Artemis محرك روايات مرئية ياباني تجاري طوّرته iMel Inc. (الاستوديو المعروف أيضاً بـMikage). حيث تعرض محركات أقدم مثل Kirikiri أو NScripter لغة سكربتة خاصة بمجال محدّد، يُبنى Artemis حول Lua — سكربتات سيناريوهاته في جوهرها جداول بيانات Lua — ما يجعله مرناً للمطوّرين، لكنه عملياً جدار أمام أي شخص يحاول ترجمة لعبة مكتملة من الخارج. نحو 730 إصداراً على VNDB مبني عليه، فهو أبعد ما يكون عن فضول متخصّص؛ إنه كتالوج كامل تجاوزته أدوات الترجمة الآلية تاريخياً.
على القرص، لعبة Artemis هي ملف .exe لنظام Windows إضافةً إلى أرشيف موارد .pfs واحد أو أكثر تحمل السكربتات والفن والصوت. السكربتات في الداخل معظمها ملفات .ast (سكربتات سيناريو جداول Lua) وملفات .txt (صيغة أبسط موجّهة بالأسطر). يعمل RuneTranslate مباشرةً من تلك الأرشيفات والسكربتات، فيغطّي اللعبة سواء شحن الاستوديو السيناريوهات بـ .ast أو .txt.
لماذا كانت ألعاب Artemis صعبة الترجمة
مقارنةً بمحرك مدفوع بالمصدر مثل Ren’Py، يخفي Artemis نصه خلف عدة طبقات. أبقته بضع طبقات محدّدة بعيداً عن المتناول لكلٍّ من المترجمين اليدويين والأدوات الساذجة:
- كل شيء يعيش داخل أرشيفات `.pfs`. السكربتات ليست حرة على القرص — بل محزّمة في صيغة حاوية Artemis الخاصة
.pfs(سترى صيغPF8وPF6وPF2القديمة). دون قارئ لتلك الصيغة، لا شيء لتحريره أصلاً. - الأرشيفات الأحدث مشفّرة. صيغة
PF8الحالية لا تحزّم الملفات فحسب، بل تشفّر محتوياتها: يُشفَّر كل مدخل بـ XOR مقابل مفتاح مشتق من هاشSHA-1لفهرس الأرشيف نفسه. لا تستطيع اقتطاع البايتات ببساطة — عليك إعادة إنتاج اشتقاق المفتاح للمحرك لتحصل على سكربت مقروء. - السكربتات بيانات Lua، لا نص عادي. سيناريو
.astجدول Lua — الحوار وأسماء المتحدّثين والخيارات حقول متداخلة داخل جداول مهيكلة، مختلطة بأوامر المحرك. توجد تخطيطتا جدول في الواقع (v1 أقدم وv2 أحدث)، وعلى المترجم فهم كليهما لاستخراج الأسطر المنطوقة الفعلية دون إفساد البنية حولها. - أوامر المحرك المضمّنة منسوجة عبر الحوار. تعليقات الرابي/الفوريغانا ولوحات الأسماء وتغييرات اللون وانتظارات النقر مكتوبة مضمّنةً مع النص. بحث واستبدال لا يتعرّف عليها سيترجم رموز الأوامر أيضاً، وتنكسر اللعبة.
الأثر الصافي: حتى مترجم يقرأ اليابانية بطلاقة عليه أولاً فك حاوية احتكارية مشفّرة، ثم تحليل جداول Lua يدوياً، ثم التنقّل بحذر حول العلامات المضمّنة — قبل أن يُترجم سطر واحد. هذا هو العمل الذي يقوم به RuneTranslate الآن نيابةً عنك.
ما يفعله RuneTranslate الآن
يعامل RuneTranslate محرك Artemis كمحرك من الطراز الأول ويتولّى خط الأنابيب كله بلغة TypeScript خالصة — دون أدوات خارجية، ودون مكوّن Python مرافق، ودون شيء يُثبَّت:
- يقرأ أرشيفات `.pfs` مباشرةً. يفتح صيغ
PF8وPF6وPF2القديمة داخلياً، بما فيها تشفير XOR المعتمد على `SHA-1` في PF8 — بإعادة إنتاج اشتقاق مفتاح المحرك بحيث يخرج محتوى السكربت مقروءاً. - يستخرج الحوار والأسماء والخيارات. يحلّل سكربتات سيناريو
.ast(جداول Lua) المقروءة — تخطيطتي v1 الأقدم وv2 الأحدث — وسكربتات.txt(الموجّهة بالأسطر)، وكذلك سيناريوهات ASB الثنائية المُصرَّفة التي تشحنها كثير من الألعاب فعلاً (تُكتشف بالتوقيع، حتى عند إعادة تسميتها إلى امتداد مخصّص مثل.iet)، ويسرد كل سطر قابل للترجمة في المحرّر: الحوار المنطوق، وأسماء الشخصيات على لوحات الأسماء، والخيارات المتفرّعة. - يحافظ على أوامر المحرك. تُخفى العلامات المضمّنة — الرابي/الفوريغانا، لوحات الأسماء، اللون، انتظارات النقر — وفواصل الأسطر خلف عناصر نائبة رقمية قبل أن يصل أي شيء إلى مزوّد الترجمة، ثم تُستعاد تماماً عند الخروج. يُترجم النص؛ ولا تُترجم تعليمات المحرك.
- يصدّر رقعة تجاوز. يقرأ Artemis سكربتاته من أرشيفات
.pfsالمركّبة، فعند التصدير يكتب RuneTranslate أرشيف رقعة تجاوز مترجماً — ملفroot.pfs.NNN، واحداً لكل.pfsمصدري — في نسخة من اللعبة. يركّب Artemis الأرشيف الأعلى رقماً أخيراً ويقرأ منه، فتحجب الرقعة الأصول المحزّمة دون إعادة بناء أرشيفات اللعبة نفسها. (تُكتب السكربتات المترجمة أيضاً حرةً كإضافة غير ضارة.) إنها فكرة رقعة التجاوز نفسها المستخدمة في مسار رقعة Kirikiri.
اليابانية → الإنجليزية هي البقعة المثالية، لكن يمكنك استهداف أي من أكثر من 30 لغة — الإسبانية والفرنسية والألمانية والبرتغالية والروسية والصينية والإيطالية والتركية والفيتنامية وغيرها.
ما تحتاجه
- RuneTranslate لنظام Windows — مجاني؛ كل محرك ومزوّد مفتوح (الفئة المجانية محدَّدة على السرعة، لا الميزات).
- مجلد لعبة Artemis. هذا هو الدليل الذي يحتوي على
.exeالخاص باللعبة وأرشيفات.pfs(السكربتات والأصول محزّمة داخلها). - لغة هدف — الإنجليزية، الإسبانية، الفرنسية، الألمانية، البرتغالية، الروسية، الصينية، الإيطالية، التركية، الفيتنامية، وأكثر من 20 أخرى.
- مزوّد ترجمة واحد. تعمل Google Translate المجانية مباشرةً؛ ولدى DeepL فئة مجانية؛ وأما OpenAI وAnthropic ونموذج محلي (Ollama / LM Studio) وأي واجهة متوافقة مع OpenAI فبمفتاحك الخاص. ألعاب Artemis غنية بالحوار وحسّاسة للنبرة، فيقرأ نموذج لغوي (OpenAI / Anthropic) أو DeepL أفضل عادةً.
الخطوة 1: افتح مجلد اللعبة
أطلق RuneTranslate، وانقر New project، ووجّهه إلى مجلد لعبة Artemis. يعمل اكتشاف المحرك تلقائياً — حين يرى أرشيفات .pfs الخاصة بالمحرك، يتعرّف على المشروع كـ Artemis. لا يُعدَّل مجلد لعبتك الأصلي أبداً.
الخطوة 2: كيف تُقرأ السكربتات
يفتح RuneTranslate أرشيفات .pfs ويسحب السكربتات نيابةً عنك، مفكّاً التشفير ومحلّلاً أثناء عمله:
- أرشيفات `PF8` المشفّرة — مفكوكة داخلياً باستخدام مخطط XOR المعتمد على
SHA-1، فلا تشغّل أبداً فاكّ حزم منفصلاً. - أرشيفات `PF6` / `PF2` القديمة غير المشفّرة — مقروءة مباشرةً.
- سكربتات `.ast` و`.txt` — محلّلة للحوار والأسماء والخيارات ومسرودة في المحرّر، مصنّفةً حسب الملف.
تُخفى أوامر المحرك المضمّنة وفواصل الأسطر خلف عناصر نائبة رقمية قبل أن يصل أي شيء إلى المزوّد، ثم تُستعاد عند الخروج — فتنجو تعليقات الرابي ولوحات الأسماء ووسوم اللون من دورة الذهاب والإياب دون مساس.
الخطوة 3: الترجمة
اختر مزوّداً وشغّل. لرواية مرئية، نموذج لغوي (OpenAI / Anthropic) هو الأفضل لصوت الشخصية والنبرة، وDeepL سريع ونظيف للسرد، وGoogle Translate المجانية جيدة لنصوص القوائم القصيرة والخيارات. أدرِج طاقمك ومصطلحاتك المتكررة في المسرد مسبقاً بحيث تُعرض الأسماء بشكل متطابق عبر اللعبة كلها — انظر أساسيات المسرد. عندما تنتهي، يعيد مرور اختياري بـمُنقّح الذكاء الاصطناعي قراءة كل سطر في سياقه ويشدّ الصياغة الجامدة الحرفية التي تميل الترجمة الآلية إلى تركها.
الخطوة 4: صدّر نسخة جاهزة للتشغيل
انقر Export. يكتب RuneTranslate نسخةً مترجمة من اللعبة مع أرشيف رقعة تجاوز root.pfs.NNN — واحد لكل .pfs مصدري — يركّبه Artemis أخيراً ويقرأه تفضيلاً على الأصول المحزّمة. (تُوضع السكربتات المترجمة أيضاً حرةً كإضافة غير ضارة.) شغّلها، وستعمل اللعبة بلغتك الهدف.
قيود معروفة
- تُقرأ سيناريوهات `.asb` المُصرَّفة — تشحن كثير من ألعاب Artemis السيناريو كـ AST ثنائي مُصرَّف (الصيغة التي تبدأ بعلامة
ASB) بدلاً من.ast/.txtالمقروءة، ويعيد عدد منها تسمية الامتداد (لعبة اختبرناها تستخدم.iet). يكتشف RuneTranslate ذلك بالتوقيع لا بالامتداد، ويترجمه في مكانه. وحيث تخزّن لعبة أسماء المتحدّثين في الرسوميات أو كأسماء أوامر لا كنص داخل السكربت، تأتي تلك الأسماء من مسار نص الصور، لا السكربت — إن بقي اسم يابانياً، فذلك عادةً هو السبب. - رقعة التجاوز هي مسار التحميل. أرشيف
root.pfs.NNNالمترجم هو ما تقرأه اللعبة فعلاً. على العنوان النادر الذي يركّب الأرشيفات بشكل مختلف، قد يحتاج التصدير إلى ضبط — وهو بالضبط نوع سلوك اللعبة الحقيقية الذي نحصّنه مع ورود التقارير. - النص المخبوز في فن الصور — شاشة عنوان أو زر قائمة مرسوم كخريطة بكسل — بكسلات، لا نص سكربت، فلا يصل إليه مستخرِج السكربتات. لذلك، انظر ترجمة نص الصور.
- قد يختلف الأرشيف الدقيق وصيغة السكربت بين الإصدارات. تحقّق دائماً على نسختك المحدّدة.
واجهت عائقاً؟ أخبرنا
قارئ .pfs والتشفير ومحلّلات .ast / .txt / .asb مبنية ومختبَرة بالوحدات، لكن لدى Artemis سنوات من التباين لكل استوديو. إن لم تُكتشف لعبة، أو لم تُفتح الأرشيفات، أو لم يُستخرج شيء، أو صدّرت شيئاً لا تُحمّله، فأبلِغ عنه على Discord — اسم اللعبة وكيفية تحزيمها (أي صيغة .pfs، و.ast مقابل .txt مقابل .asb) هو بالضبط ما يساعدنا على تحصينه أسرع.
نزّل RuneTranslate، ووجّهه إلى رواية Artemis المرئية تلك التي أردت قراءتها، وجرّبه. لنظرة على كيفية تعاملنا مع محرك رواية مرئية آخر قائم على الأرشفة، اقرأ شرح Kirikiri تالياً.
مستعد لتجربة RuneTranslate؟
تفتح الباقة المجانية كل محرك + كل مزود ترجمة. باقة Supporter ($3/mo) تفتح السرعة الكاملة.
التنزيل لنظام Windows
