محرك مدعوم · Ren'Py
Ren'Py هو محرك الروايات المرئية المهيمن القائم على Python، يُستخدم في كل شيء من الروايات الحركية المستقلة إلى روايات البالغين الطويلة. يترجمه RuneTranslate بثلاثة أنماط: مشاريع مصدرية (game/**/*.rpy)، وإصدارات مُصرَّفة فقط (.rpyc، مفكوكة التصريف عبر المكوّن المرافق المضمّن unrpyc)، وإصدارات مؤرشفة فقط (.rpa، مفكوكة عبر المكوّن المرافق المضمّن rpatool مع اكتشاف تلقائي لمفتاح التمويه). يستخرج أسطر الكلام / السرد / القوائم إضافةً إلى نصوص الواجهة _() / __() / _p(). عند التصدير، تُطبَّق الحوارات والقوائم أثناء التشغيل: يطابق ملف .rpy مولَّد محتوى كل سطر مصدري (config.say_menu_text_filter) مقابل خريطة game/rt_translations.json ويفرض لغة اللعبة إلى ترجمتك — بشكل متعمّد لا يستخدم كتل tl/ الأصلية المعتمدة على المعرّفات في Ren'Py، التي لا يمكن دائماً إعادة إنتاج معرّفاتها. تُكتب نصوص الواجهة _() فقط ككتلة game/tl/translated/translation.rpy حقيقية. للأهداف غير اللاتينية، يضمّن RuneTranslate خطاً قادراً على CJK / التايلاندية / العربية ويوجّه خطوط اللعبة عبر config.font_replacement_map بحيث لا يظهر النص المترجم أبداً كمربّعات. لا يُعاد تحزيم أي شيء — تُوضع ملفات .rpy الإضافية وJSON في game/ بجانب الأصل. اقرِنه بمسرد فئة Supporter لتثبيت أسماء الشخصيات والمصطلحات المميّزة عبر الروايات الطويلة.
تحيا روايات Ren'Py المرئية وتموت بصوت الشخصية — وتسمية البطلة 'Alice' / 'Aris' / 'Arisu' عبر ثلاثة مشاهد ستكسر انغماس القارئ بسرعة. ثبّت في المسرد كل اسم شخصية، وتنويعات لقب البطل، وأسماء الأماكن، وأي مصطلح عالمي مبتكر. القناع محايد تجاه المزوّد، فسواء كنت على DeepL للتشغيل الاقتصادي أو Claude للفصول الرئيسية الغنية بالحوار، تبقى مصطلحاتك متطابقة. أساسيات المسرد →
وجّه RuneTranslate إلى المجلد الذي يحتوي على ملف اللعبة التنفيذي. يصنّف اكتشاف المحرك المشروع تلقائياً كمصدري (وجود .rpy)، أو مُصرَّف (.rpyc فقط)، أو مؤرشف (.rpa فقط). يعمل المكوّنان المرافقان المضمّنان unrpyc وrpatool تلقائياً — دون حاجة إلى تثبيت Python.
اختر اللغة الهدف (واحدة من أكثر من 30 مدعومة) والمزوّد. يُعد Anthropic Claude وOpenAI GPT-4o الأقوى على حوار Ren'Py لأنهما يحافظان على النبرة والسجل والمحاكاة الصوتية أفضل من الترجمة الآلية الإحصائية. وDeepL خيار ثانٍ متين للسرد الوصفي الطويل.
يستخرج RuneTranslate كل سطر قابل للترجمة (الحوار، نص الخيارات، ملصقات الشاشات، نصوص الواجهة) ويجمّعها في دفعات. تُخفى وسوم Ren'Py الخاصة ([[player_name]]، {color=#fff}…{/color}، {b}…{/b}) أثناء الترجمة بحيث يعاملها النموذج اللغوي كعناصر نائبة معتمة، ثم تُستعاد حرفياً.
يضع RuneTranslate بضعة ملفات صغيرة في game/: خريطة rt_translations.json وملف .rpy مولَّد يطابق محتوى كل سطر مصدري أثناء التشغيل (config.say_menu_text_filter) ويفرض اللغة إلى ترجمتك، بحيث تُعرض الحوارات والقوائم مترجمةً دون إعادة تحزيم .rpa. تذهب نصوص الواجهة _() إلى game/tl/translated/translation.rpy، ويُضمَّن خط CJK / غير لاتيني عندما يحتاجه الهدف. تحافظ إعادة تشغيل المترجم على أسطرك المحرَّرة يدوياً.