محرك مدعوم · Unity
تُشحن شريحة كبيرة من الألعاب اليابانية المستقلة والدوجينية الحديثة — ألعاب RPG والروايات المرئية وألعاب المحاكاة — على Unity. يترجم RuneTranslate النص الذي تُخرجه تلك الألعاب: حمولات TextAsset (JSON / CSV / TSV / كتل نص سيناريو عادية) وحقول نصوص MonoBehaviour المحزّمة داخل .assets وملفات المستويات وAssetBundles (بما فيها ألعاب data.unity3d ذات الحزمة الواحدة)، إضافةً إلى ملفات السكربت الحرة تحت StreamingAssets. تقرأ بيئة تشغيل UnityPy مضمّنة الأصول الثنائية وتكتبها، كل ذلك في مساحة عمل لكل مشروع بحيث تبقى اللعبة الأصلية دون مساس. يُعالَج نص MonoBehaviour على نسخ Mono وIL2CPP معاً — على Mono تأتي أشجار الأنواع من Managed/*.dll الخاص باللعبة، وعلى IL2CPP يعيد RuneTranslate بناءها من GameAssembly.dll + global-metadata.dat (أفضل جهد ممكن؛ يحتاج بيانات وصفية قابلة للتحليل). كما يفك تشفير حزم Addressable المشفّرة بـ AES-CTR ويحقن خط احتياطي غير لاتيني لـ CJK والكتابات الأخرى. خارج النطاق: النصوص الحرفية المُصرَّفة في شيفرة اللعبة (Assembly-CSharp.dll). تحقّق على لعبة حقيقية قبل إعادة التوزيع.
عادةً ما تُخرَج سكربتات الروايات المرئية/ألعاب RPG في Unity كجداول JSON أو CSV، فتظهر أسماء الشخصيات والمصطلحات المتكررة مئات المرات عبر كثير من TextAssets. سيعيد المزوّدون صياغتها بشكل غير متسق من دفعة إلى أخرى. أدرِج في المسرد البطل والفريق والشخصيات الثانوية المتكررة وأسماء الأماكن وأي مهارة أو مصطلح نظام مميّز مسبقاً بحيث يعرضها كل TextAsset وملف StreamingAssets بالطريقة نفسها. أساسيات المسرد →
وجّه RuneTranslate إلى مجلد اللعبة (الذي يحتوي على مجلد <Name>_Data). يبحث اكتشاف المحرك عن globalgamemanagers / data.unity3d / resources.assets. تُستخدم بيئة تشغيل UnityPy المضمّنة تلقائياً — دون حاجة إلى تثبيت Python منفصل.
يفحص RuneTranslate الملفات المُسلسَلة بحثاً عن نصوص TextAsset وMonoBehaviour باللغة المصدر (اليابانية افتراضياً؛ اضبط أي لغة مصدر مدعومة لكل مشروع)، إضافةً إلى ملفات السكربت الحرة تحت StreamingAssets. تُقطَّع الحمولات المهيكلة (JSON / KAG / HTML) إلى أسطر فردية قابلة للترجمة بحيث تعود بنية الملف سليمة.
يُعد DeepL خياراً افتراضياً قوياً للحوار السردي؛ ويتعامل OpenAI GPT-4o أو Anthropic Claude مع الكلام المُنمّق والمحاكاة الصوتية بشكل أفضل. تغطّي Google Translate المجانية أو نموذج محلي (Ollama / LM Studio) نصوص القوائم وأسماء العناصر. يستطيع توجيه المزوّدين إرسال النصوص القصيرة إلى مسار رخيص.
عند التصدير، ينسخ RuneTranslate اللعبة ويكتب النصوص المترجمة عائدةً في ملفات الأصول وسكربتات StreamingAssets في مكانها. تعمل النسخة المترجمة كالأصل — دون تلاعب يدوي بالأصول.