RuneTranslate يترجم الآن ألعاب Godot
يترجم RuneTranslate الآن ألعاب Godot 3.x / 4.x إلى الإنجليزية وأكثر من 30 لغة — إذ يفتح ملف .pck (حتى عندما يكون مضمَّنًا داخل ملف .exe)، ويفكّ ترجمة GDScript المُصرَّف، ويحوّل المشاهد الثنائية باستخدام أداة GDRE Tools المرافقة المدمجة، ثم يسرد الحوارات ونصوص الواجهة. وجِّهه إلى مجلد اللعبة، واكتشاف تلقائي، وترجمة، وتصدير نسخة مُعاد تحزيمها قابلة للتشغيل. ميزة أُضيفت حديثًا وبأقصى جهد ممكن — تحقّق من أن النسخة المُصدَّرة تعمل.
يترجم RuneTranslate الآن الألعاب المبنية على Godot — المحرّك المجاني المفتوح المصدر الذي أصبح بهدوء واحدًا من أكثر الطرق شيوعًا لإصدار لعبة مستقلة أو دوجين. لطالما كان Godot تاريخيًّا من أصعب المحرّكات ترجمةً من الخارج، لأن لعبة Godot الصادرة صندوق مُحكم الإغلاق: كل شيء يقبع داخل أرشيف .pck واحد (كثيرًا ما يكون ملصوقًا مباشرةً بنهاية ملف .exe نفسه)، والنصوص البرمجية مُصرَّفة إلى بايت-كود GDScript، والمشاهد محفوظة بصيغة ثنائية. يفتح RuneTranslate ذلك الصندوق، ويقرأ النص، ويعيد تحزيم ترجمتك بداخله.
هذا محرّك أُضيف حديثًا، لذا قبل أي شيء آخر: إذا وجَّهت RuneTranslate إلى لعبة Godot فلم يكتشفها، أو لم يفتحها، أو لم تعمل النسخة المُصدَّرة، فأخبِرنا من فضلك. المزيد عن ذلك في النهاية.
ما هو Godot في الحقيقة
Godot محرّك ألعاب مجاني ومفتوح المصدر بترخيص MIT (أول إصدار عام له كان في 2014) انفجرت شعبيته خلال السنوات القليلة الماضية — وصار الآن خيارًا سائدًا للألعاب المستقلة ثنائية وثلاثية الأبعاد، وتصدر عليه شريحة متنامية من عناوين الدوجين اليابانية. تُكتب الألعاب عادةً بلغة GDScript، لغة Godot الخاصة الشبيهة بـ Python، وتُبنى على هيئة مشاهد — أشجار من العقد (تسمية هنا، وزر هناك، ومربّع حوار) محفوظة كموارد.
عند تصدير لعبة Godot للإصدار، يُجمَع كل ذلك — النصوص البرمجية والمشاهد والصور والصوت — في ملف حزمة .pck واحد. تقع الحزمة إمّا بجوار الملف التنفيذي، أو، وهو أمر شائع جدًّا، مُلحقةً مباشرةً بنهاية ملف `.exe`، فيبدو المجلد وكأنه لا شيء سوى ملف تنفيذي واحد للعبة. هذا التحزيم بالضبط هو ما يجعل ألعاب Godot تبدو عصيّةً على الاختراق.
لماذا كانت ألعاب Godot صعبة الترجمة
على خلاف محرّك قائم على النصوص البرمجية مثل Ren'Py، لا تكشف لعبة Godot الصادرة أي شيء تقريبًا كنص صريح:
- كل شيء داخل `.pck`. لا توجد ملفات نصوص برمجية أو نصوص منفصلة لتحريرها — وعندما تكون الحزمة مضمَّنة داخل
.exeفلا يوجد حتى ملف.pckمرئي لتوجّه أداة إليه. - النصوص البرمجية مُصرَّفة. يُشحن GDScript كبايت-كود مُصرَّف (
.gdc) — وفي Godot 4 الحديث يُضغط هذا البايت-كود إضافةً إلى ذلك — فالحوار المدمج في الشِّفرة ليس شيئًا يمكنك البحث عنه بـ grep أو فتحه في محرّر نصوص. - المشاهد ثنائية. تسميات الواجهة ونصوص القوائم تقبع في ملفات مشاهد محفوظة بصيغة موارد Godot الثنائية (
.scn)، لا بصيغة.tscnالمقروءة للبشر التي تراها في المحرّر. - معظم الألعاب لا تستخدم ملف ترجمة. يملك Godot نظام توطين من الطراز الأول (CSV /
.po→.translation)، لكن كثيرًا من الألعاب — لا سيما عناوين الدوجين الأصغر — لا تستخدمه أبدًا وتكتفي بترميز اليابانية ترميزًا صلبًا داخل النصوص البرمجية والمشاهد. فلا يوجد جدول نصوص مرتّب لترجمته.
ماذا يفعل RuneTranslate الآن
يعامل RuneTranslate محرّك Godot كمحرّك من الطراز الأول ويعيد بناء المشروع المقروء من أجلك. خلف الكواليس يضمّ نسخة من GDRE Tools (مجموعة أدوات الهندسة العكسية مفتوحة المصدر لـ Godot) ويستخدمها من أجل:
- فكّ حزمة `.pck` — سواء كانت مستقلة، أو
data.pck، أو الحزمة المضمَّنة في نهاية ملف.exe(يكتشف RuneTranslate بصمة الحزمة المضمَّنة تلقائيًّا). - فكّ ترجمة GDScript المُصرَّف (
.gdc→.gd) ليعود الحوار والسرد داخل الشِّفرة مقروءَين من جديد. - تحويل المشاهد الثنائية (
.scn→.tscn) ليتسنّى انتزاع التسميات ونصوص الواجهة الموجودة عليها.
ثم يمسح المشروع المُستعاد ويسرد كل نص قابل للترجمة — حوار النصوص البرمجية ونصوص المشاهد/الواجهة — مُجمَّعًا حسب الملف في المحرّر، مع إخفاء ترميز المحرّك خلف عناصر نائبة كي لا يفسده المزوّد أبدًا. وعند التصدير يعيد دمج ترجماتك في المصدر المُستعاد ويعيد تحزيم نسخة قابلة للتشغيل من اللعبة (المزيد عن كيفية ذلك بالضبط أدناه).
ما الذي تحتاجه
- RuneTranslate لنظام Windows — مجاني، وكل محرّك وكل مزوّد غير مقفل.
- مجلد لعبة Godot — عادةً مجرّد ملف
.exeالخاص باللعبة (مع الحزمة المضمَّنة)، أو ملف.exeإلى جانبه.pck/data.pck. كلٌّ من Godot 3.x و4.x مدعوم. - لغة هدف — الإنجليزية والإسبانية والفرنسية والألمانية والبرتغالية والروسية والصينية والإيطالية والتركية والفيتنامية وأكثر من 20 لغة أخرى.
- مزوّد ترجمة واحد. يعمل Google Translate المجاني مباشرةً؛ ولدى DeepL باقة مجانية؛ أمّا OpenAI وAnthropic والنموذج المحلي (Ollama / LM Studio) وأي واجهة برمجية متوافقة مع OpenAI فتعمل بمفتاحك الخاص. ألعاب Godot عادةً كثيفة الحوار، لذا يُقرأ نص القصة على أفضل نحو مع نموذج لغوي كبير (LLM) (OpenAI / Anthropic) أو مع DeepL.
الخطوة 1: افتح مجلد اللعبة
شغّل RuneTranslate، وانقر New project، ووجِّهه إلى دليل لعبة Godot — المجلد الذي يحوي ملف .exe الخاص باللعبة (وملف .pck إن كان يُشحن منفصلًا). يجري اكتشاف المحرّك تلقائيًّا: فهو يتعرّف على بصمة الحزمة المضمَّنة في نهاية الملف التنفيذي، أو على ملف .pck منفصل، أو على مشروع Godot. ولا تُعدَّل ملفاتك الأصلية أبدًا.
الخطوة 2: فكّ الحزمة واستعِد المشروع
يشغّل RuneTranslate أداة GDRE Tools المرافقة المدمجة ليفكّ الحزمة، ويفكّ ترجمة GDScript المُصرَّف، ويحوّل المشاهد الثنائية إلى مصدر مقروء. ثم يمسح ذلك المشروع المُستعاد ويسرد كل سطر قابل للترجمة — الحوار والسرد من النصوص البرمجية، إضافةً إلى التسميات ونصوص الواجهة من المشاهد — مُجمَّعًا حسب الملف. وتُرشَّح مسارات الأصول وأسماء العقد وسائر معرّفات الشِّفرة خارجًا، بحيث لا تترجم إلا النصوص التي يراها اللاعب فعلًا.
الخطوة 3: ترجِم
اختر مزوّدًا وشغّل. للعبة قائمة على القصة، يكون النموذج اللغوي الكبير (OpenAI / Anthropic) الأفضل لأصوات الشخصيات، ويكون DeepL سريعًا ونظيفًا للسرد، ويكفي Google Translate المجاني لنصوص الواجهة القصيرة. كثيرًا ما تحفظ ألعاب Godot حوارها في هيئة مصفوفات طويلة من الأسطر داخل نصّ برمجي واحد — «قاعدة بيانات قصصية» — فيتكرّر اسم الشخصية أو المكان نفسه مئات المرّات. أدرِج طاقم شخصياتك ومصطلحاتك الأساسية في المسرد مسبقًا كي تظهر متطابقةً في كل مكان؛ راجع Glossary 101. وتمريرة اختيارية عبر أداة الصقل بالذكاء الاصطناعي تشدّ الصياغة المتيبّسة التي تميل الترجمة الآلية إلى تركها وراءها.
الخطوة 4: صدِّر نسخةً مترجمة
انقر Export. لأن النصوص البرمجية الأصلية بايت-كود مُصرَّف، يستخدم RuneTranslate نهج تجاوز المصدر (source-override): إذ يكتب ترجماتك في مصدر .gd / .tscn المُستعاد، ويُسقِط ملفات .gdc المُصرَّفة و.scn الثنائية من الحزمة كي يرتدّ المحرّك إلى المصدر المترجَم المنفصل، ثم يعيد تحزيم ملف .pck جديد — ويعيد تضمينه في نسخة من ملف .exe إن كانت الحزمة مضمَّنة أصلًا. تبقى لعبتك الأصلية دون مساس؛ وتحصل على نسخة منفصلة قابلة للتشغيل ومترجَمة.
الخطوة 5: تحقّق من أن النسخة تعمل
تعتمد النسخة المُصدَّرة على قيام بيئة تشغيل Godot بتصريف مصدر النصّ البرمجي المترجَم المنفصل وقت التحميل، لذا — كما هو الحال مع أي محرّك جديد — شغّل اللعبة المُصدَّرة مرّةً وتأكّد من أن الحوارات والقوائم تظهر بلغتك قبل أن تشاركها. وإن تعذّر تحميل نصّ برمجي، فذلك بالضبط نوع البلاغات التي تساعدنا على تمتينه (انظر أدناه).
قيود معروفة
- أُضيف حديثًا + بأقصى جهد ممكن. تحقّق من أن اللعبة المُصدَّرة تعمل وتُقرأ بشكل صحيح قبل إعادة توزيعها.
- الحزم المشفّرة. بعض الألعاب تشحن ملف
.pckمشفّرًا بمفتاح مدمج في الملف الثنائي؛ هذه لا تُفتح بعد. - ألعاب C# / .NET (Mono). يركّز RuneTranslate على GDScript؛ أمّا النص المُصرَّف داخل منطق لعبة Godot المكتوبة بلغة C# فهو خارج النطاق.
- النص المرسوم داخل الصور. العنوان أو الشعار المُصوَّر كعمل فني هو بكسلات لا نصوص — وتلك مهمّة ترجمة نصوص الصور، لا استخراج النصوص البرمجية.
- تعتمد اللغات الهدف غير اللاتينية على شحن اللعبة خطًّا قادرًا فعلًا على عرضها.
إنها جديدة تمامًا — أخبِرنا بما يتعطّل
دعم Godot إضافة جديدة. يمتدّ Godot عبر إصدارات محرّك وأساليب تحزيم كثيرة، ولم نرها كلها. لذا إذا وجَّهت RuneTranslate إلى لعبة Godot فلم يكتشفها، أو لم يفكّ حزمتها، أو صدَّر شيئًا لا يعمل، فأبلِغنا من فضلك — فاسم اللعبة، وإصدار Godot الخاص بها، وكيفية تحزيمها (حزمة مضمَّنة مقابل .pck منفصل) هو بالضبط ما يساعدنا على تمتينه بأسرع ما يمكن.
نزّل RuneTranslate، ووجِّهه إلى لعبة Godot تلك التي طالما نويت قراءتها، وجرّبه. ولمحرّك حديث آخر، اطّلع تاليًا على شرح Unity.
مستعد لتجربة RuneTranslate؟
تفتح الباقة المجانية كل محرك + كل مزود ترجمة. باقة Supporter ($3/mo) تفتح السرعة الكاملة.
التنزيل لنظام Windows