المحرّكاتالأدلّةالأسئلة الشائعةPatreonDiscordتنزيل
تسجيل الدخول
RuneTranslate · ترجمة الألعاب اليابانية من البداية إلى النهاية
المحرّكاتالأدلّةمقارنةنص الصورمحرّر الحفظوضع الغشالأسئلة الشائعةتنزيلPatreonDiscordYouTubeالخصوصيةالشروطالتواصل
جميع المقالات
patch · sharing · tutorial · workflow

كيف تصنع باتش ترجمة للعبة

18 أغسطس 2026·9 دقيقة قراءة

باتش الترجمة هو الشيء الوحيد الذي ينتجه المترجم الهاوي فعلًا: الأسطر، مطابَقةً بالمواضع التي تنتمي إليها في اللعبة. وهذا هو العمل كاملًا من طرفه إلى طرفه — الاختيار بين تراكب أثناء التشغيل ونسخة مرقّعة، واستخراج النص، وترجمته، وإصلاح ما تخطئ فيه الآلة، والتصدير، والاختبار داخل اللعبة، ومشاركة ملف الباتش بدل اللعبة نفسها.

باتش الترجمة ليس نسخة من لعبة. إنه عمل المترجم — الأسطر، مع معلومات كافية لتحديد أي سطر ينتمي إلى أين — في صورة يستطيع غيرك تطبيقها على نسخته هو. ولكل سوق اسمه الخاص لهذا الشيء: باتش كوري، أو ملف ترويس روسي، أو تعريب عربي، أو توطين صيني. والقطعة الناتجة واحدة في كل مكان، ومهمة صنعها كذلك.

نوعان من الباتش، والمفترق بينهما يحدّد كل شيء

قبل أن تلمس أي نص، قرّر أيّ الشيئين تبني، لأن كل قرار لاحق تقريبًا يتبع ذلك.

التراكب أثناء التشغيل يترجم واللعبة تعمل. يُحمَّل شيء إلى جانب اللعبة — إضافة داخل المحرك، أو خطّاف نصوص يقرأ ذاكرة اللعبة، أو التقاط على الشاشة يقرأ البكسلات — فيلتقط كل سطر قبيل رسمه ويستبدل به ترجمة. ولا يتغيّر شيء من اللعبة على القرص. وXUnity.AutoTranslator هو المثال المعروف في Unity، وMTool يعمل بهذه الطريقة مع RPG Maker.

النسخة المرقّعة تضع الترجمة داخل ملفات اللعبة نفسها. يُقرأ النص من البيانات التي يحمّلها المحرك فعلًا، ويُترجَم، ويُكتب عائدًا، والنتيجة مجلد لعبة يبدأ ويُلعب وحده دون أي شيء يعمل بجانبه. وهذا ما ينتجه RuneTranslate، وما ينتجه Translator++ على المحرّكات التي يحلّلها.

والمقايضة الصادقة، مباشرةً:

  • التراكب لا يحتاج عملًا لكل لعبة — إمّا أن يربط المحرك وإمّا لا — لكن لا شيء يُحفظ. فكل سطر يُعاد ترجمته في كل جولة لعب، وعلى كل جهاز، وكل لاعب مضطر إلى تثبيت التراكب وضبطه بنفسه.
  • ولا يصل التراكب إلا إلى النص لحظة رسمه. أما النص المخبوز في الرسومات، والنص الذي لا يمرّ أبدًا عبر المكوّن المربوط، والنص الذي يرسمه مُظهِر مخصّص، فتبقى كلها بلا ترجمة.
  • والنسخة المرقّعة تكلّفك خطوة تصدير وجولة اختبار، ويجب إعادتها حين تُحدَّث اللعبة. وما تحصل عليه في المقابل دائم: الملف يحمل الترجمة، فاللعبة ببساطة مترجَمة، دون اتصال، لكل من يطبّق عملك.
  • والنسخة المرقّعة تمنحك سجلًا قابلًا للتحرير. تستطيع إصلاح سطر سيّئ واحد بعد ستة أشهر دون إعادة ترجمة أي شيء آخر — أما التراكب فلا شيء فيه ليُصلَح، بل ذاكرة مؤقتة تُمسح فقط.

إن كنت تترجم لنفسك، مرة واحدة، على محرك لا تستطيع تحليله، فالتراكب جواب معقول ولا عيب فيه. أمّا إن كنت تنوي تسليم عملك إلى آخرين فأنت تريد نسخة مرقّعة — لأن الباتش لا يكون قابلًا للمشاركة إلا إذا وُجد كملف.

ما تحتاجه قبل أن تبدأ

  • نسخة من اللعبة تملكها، مثبّتة وقابلة للّعب. العبها بضع دقائق أولًا — لا تستطيع الحكم على صحة قراءة الترجمة إن لم تر السياق قط.
  • معرفة المحرك الذي تستخدمه. فهذا يحدّد كل شيء في كيفية خروج النص وعودته.
  • لغة هدف تقرأها فعلًا. الترجمة الآلية تعطيك مسودة؛ ولا تعطيك باتشًا.
  • مساحة قرص لنسخة ثانية من اللعبة. فالنسخة المرقّعة مجلد منفصل — وأصلك لا يُعدَّل أبدًا.

وتحديد المحرك عادةً مسألة نظرة إلى مجلد اللعبة. فمجلد www/data أو data من ملفات JSON يعني RPG Maker MV أو MZ؛ ومجلد <Game>_Data يعني Unity؛ وgame/*.rpy أو أرشيفات .rpa تعني Ren'Py؛ وأرشيفات .xp3 تعني Kirikiri. والقائمة الكاملة لما يمكن تحليله، مع علامة كل محرك، في صفحة المحرّكات — يغطي RuneTranslate 17 محرّكًا وصيغة، والاكتشاف تلقائي بمجرّد توجيهه إلى المجلد.

سير العمل

أيًّا كان المحرك، صنع الباتش هو الخطوات الخمس نفسها بالترتيب نفسه. والإغراء أن تتخطّى الخطوة الثالثة. لا تفعل.

  1. الاستخراج — اقرأ كل نص قابل للترجمة من ملفات اللعبة نفسها إلى قائمة تستطيع العمل فيها.
  2. الترجمة — مرّر القائمة على مزوّد آلي للحصول على مسودة أولى كاملة.
  3. المراجعة — راجع الأسطر التي تخطئ فيها الآلة باطّراد: الأسماء، وألقاب الاحترام، والمصطلحات، وكل ما فيه عنصر نائب.
  4. التصدير — اكتب الترجمات عائدةً في صيغة اللعبة وأنتج نسخة قابلة للعب.
  5. الاختبار — أطلق تلك النسخة والعبها فعلًا.

الاستخراج

الاستخراج هو حيث تثبت معرفة المحرك قيمتها. فنادرًا ما يجلس الحوار في ملف نصي عادي: يخزّنه RPG Maker في أكواد أوامر الأحداث، وUnity في حمولات TextAsset وحقول MonoBehaviour داخل ملفات أصول ثنائية، وKirikiri في سكربتات داخل أرشيف مشفّر، وUnreal في جداول .locres داخل ملف .pak. والمستخرِج الجيد يعرف أيضًا ما لا يسلّمك إياه — فاسم المشهد، ومفتاح المتغيّر، ومعامل المقارنة، ومسار الأصل تبدو كلها نصوصًا، وكلها تكسر اللعبة إن تُرجمت. أما النص المرسوم داخل الرسومات فمشكلة منفصلة بأداة منفصلة؛ انظر ترجمة الصور.

الترجمة

احصل على مسودة آلية كاملة قبل أن تحرّر أي شيء بيدك، لتصحّح نصًا بدل التحديق في عمود فارغ. يشحن RuneTranslate 9 مزوّدين — Google وDeepL المجاني وDeepL الكلاسيكي / الجيل التالي لا تحتاج مفتاح واجهة إطلاقًا؛ والبقية هي واجهة DeepL، وOpenAI، وAnthropic Claude، وDeepSeek، وأي نقطة نهاية متوافقة مع OpenAI، ونموذج محلي عبر Ollama أو LM Studio. وتفتح الفئة المجانية كل واحد منها وكل محرّك؛ وما تحدّه هو الإنتاجية والاحتفاظ بأكثر من مشروع واحد في المرة. وأيّ مزوّد يناسب أيّ نوع من الألعاب مشروح في مقارنة المزوّدين.

المراجعة

هذه الخطوة هي ما يجعل الباتش يستحق التطبيق. مخرجات الآلة سلسة ومخطئة بثقة في مواضع متوقّعة، فاعمل على تلك المواضع عمدًا بدل قراءة كل شيء من أوله إلى آخره:

  • أسماء الشخصيات. تترجمها الآلة بشكل مختلف كل مرة تراها، وأحيانًا تترجمها ككلمات. قرّر الهجاء مرة واحدة.
  • ألقاب الاحترام والنبرة. الإبقاء على -san / -chan أو حذفها قرار على مستوى المشروع لا على مستوى السطر. وكذلك ما إذا كانت الشخصية تتحدّث بصيغة رسمية.
  • المصطلحات. المهارات والعناصر والأماكن والأنظمة، وكل ما اخترعته اللعبة. فالمهارة المكتوبة بثلاث صيغ في القائمة والتلميح وسجل المعركة تُقرأ كلعبة معطوبة.
  • العناصر النائبة وأكواد التحكم. أي شيء مثل \C[1] أو {player} أو [name] يجب أن ينجو سليمًا. والعنصر النائب المترجَم انهيار أو فراغ، لا خطأ إملائي.
  • الأسطر التي عادت دون تغيير. عادةً محاكاة صوتية، وعادةً علامة على أن المزوّد استسلم أمام ذلك السطر.

اتساق المصطلحات

الباتشات التي تُهجَر بسبب عدم الاتساق أكثر من تلك التي تُهجَر بسبب رداءة الأسلوب. يسامح اللاعبون جملة متيبّسة؛ ولا يسامحون أن تكون الشخصية نفسها Yuuki وYuki وSnow في حوار واحد، لأن ذلك يمنعهم من تتبّع من يتكلّم. والإصلاح مسرد: قائمة بمصطلحات المصدر والمصطلح الهدف الدقيق الذي يجب أن يصير إليه كل منها، يُطبَّق قبل الترجمة حتى لا تُتاح للمزوّد فرصة الارتجال. ابنِه مبكرًا، من الأسماء التي تقابلها في الساعة الأولى، وأضف إليه وأنت تمضي — دليل المسرد يشرح كيف يتفاعل مع إخفاء الوسوم، ولماذا مكانه البداية لا جولة بحث واستبدال في النهاية.

الخطوط

اللعبة اليابانية تشحن خطًا يابانيًا، والخط الياباني كثيرًا ما لا يملك رسومًا للسيريلية أو اليونانية أو الهانغول أو التايلندية أو الحروف اللاتينية ذات العلامات في البولندية والتركية والفيتنامية. ترجم إلى واحدة منها وستعرض اللعبة مربّعات فارغة — الترجمة صحيحة، والخط ببساطة عاجز عن رسمها. وبعض المحرّكات تُعالَج نيابةً عنك: فتصدير Ren'Py يضمّن خطًا قادرًا ويعيد ربط خطوط اللعبة عليه. وحيث لا يكون ذلك تلقائيًا، فاستبدال ملف الخط داخل النسخة المصدَّرة يصلحه عادةً. أما علامات الاستفهام الحرفية فعطل مختلف تمامًا — ذلك ترميز نصوص المحرك نفسه يرفض حرفًا، لا رسم حرف مفقودًا — والتمييز بينهما يستحق المعرفة قبل أن تطارد الإصلاح الخطأ. وكلتا الحالتين مغطّاة في الأسئلة الشائعة.

اختبر النسخة

التصدير الذي لم ينتج أخطاءً ليس باتشًا مُختبَرًا. أطلقه وافحص ما ينكسر بصمت:

  • اللعبة تصل إلى شاشة العنوان وتبدأ لعبة جديدة. فالنسخة التي تفشل هنا فشلت عادةً بسبب سطر لم يكن نصًا أصلًا — معرّف تُرجم.
  • صناديق الرسائل تحتفظ بنصّها. الترجمات أطول من اليابانية؛ ابحث عن أسطر تتجاوز حافة الصندوق أو تُقتطع.
  • القوائم وأسماء العناصر والتلميحات — المواضع التي تفيض فيها كلمة طويلة من زر ثابت العرض.
  • ملف حفظ من اللعبة الأصلية ما زال يُحمَّل، وحفظ جديد أُنشئ في النسخة المرقّعة يُحمَّل أيضًا.
  • مشهد واحد في عمق اللعبة، لا الافتتاحية فقط. فثغرات الاستخراج تظهر كمقاطع غير مترجمة، لا كأخطاء.

مشاركة عملك

وهنا الجزء الذي يحدّد إن كان باتشك شيئًا تستطيع توزيعه. ما صنعته هو الترجمة — الأسطر. واللعبة ليست لك، وتحزيم نسخة مترجمة منها يعني توزيع لعبة شخص آخر. والصورة النزيهة للباتش هي العمل وحده، يطبّقه كل متلقٍّ على نسخة يملكها بالفعل.

ويصدّر RuneTranslate ذلك بالضبط في ملف .rtpatch. يحمل معرّفات الوحدات، وأسطر المصدر التي تطابقها كل ترجمة، وترجماتك. لا ملفات لعبة، ولا أصول، ولا ملفات ثنائية — الملف نصّك ولا شيء غيره، ولهذا هو صغير بما يكفي لإرفاقه برسالة، وآمن لتسليمه لأي أحد.

وجانب المتلقّي ثلاث خطوات:

  1. ينشئ مشروعًا من نسخته المثبّتة من اللعبة نفسها، فتُستخرج الأسطر نفسها على جهازه.
  2. يستورد ملف .rtpatch الخاص بك، فيملأ تلك الأسطر بترجماتك.
  3. يصدّر نسخته القابلة للعب من ملفات لعبته هو.

والمطابقة بمعرّف الوحدة أولًا، ثم تتراجع إلى المطابقة على سطر المصدر نفسه حين تنحرف المعرّفات — بتحديث للعبة أو بتغيّر في المستخرِج. وذلك التراجع هو ما يبقي الباتش صالحًا بعد تحديث اللعبة. ويتحقّق الاستيراد من توافق المحرك واللغة الهدف قبل تطبيق أي شيء، فلا يمكن إسقاط باتش صُنع للعبة Unity في مشروع Ren'Py بالخطأ. وعلى الفئة المجانية، مشاركة الباتشات محدودة بتصدير واحد واستيراد واحد كل ثلاثة أيام متجدّدة؛ وكل ما عدا ذلك في صنع الباتش غير مقيّد بميزة.

والملف نفسه هو كيف يعمل الفريق معًا — شخص يترجم القصة وآخر القوائم، وتُدمج الباتشات في مشروع واحد — وهو كيف تحتفظ بعملك حين تُحدَّث اللعبة: أعد الاستخراج من الإصدار الجديد، واستورد باتشك القديم، فلا يحتاج الانتباه إلا الأسطر التي تغيّرت فعلًا.

أمّا إعادة توزيع اللعبة نفسها فقرار مالك الحقوق، لا قرارك ولا قرارنا. شارك الباتش، وأخبر الناس بأي إصدار من اللعبة صُنع مقابله، ودعهم يحضرون نسخهم.

خصوصيات كل محرك

كل ما سبق هو شكل المهمة. وما يختلف بين محرك وآخر هو أين يعيش النص، وما ينتجه التصدير، وما يبقى بعيد المنال — ويستحق ذلك القراءة قبل أن تبدأ لا بعد أن يفاجئك تصدير: Unity، وRPG Maker، وRen'Py، أو قائمة المحرّكات الكاملة للأربعة عشر الباقية.

يعمل RuneTranslate على Windows 10 و11، وعلى Linux وSteam Deck عبر Wine أو Proton. ويلزم تسجيل دخول مجاني عبر Patreon عند أول تشغيل؛ وتفتح الفئة المجانية كل محرّك وكل مزوّد. وإن كنت توازنه بالتراكبات ومجموعات الأدوات التي يلجأ إليها الناس أولًا، فإن المقارنات توضّح ما يعطيه كل نهج فعلًا.

قراءات ذات صلة
01

كيفية ترجمة ملفات .po و .mo في لعبة (gettext)

gettextpomoenginetutorial4 أغسطس 2026 · 7 دقيقة
اقرأ ←
02

كيفية ترجمة لعبة يابانية إلى العربية (دليل المبتدئين)

getting-startedtutorial20 يوليو 2026 · 6 دقيقة
اقرأ ←
03

كيفية ترجمة ألعاب Godot إلى الإنجليزية

godotenginetutorial17 يونيو 2026 · 6 دقيقة
اقرأ ←

مستعد لتجربة RuneTranslate؟

تفتح الباقة المجانية كل محرك + كل مزود ترجمة. باقة Supporter ($3/mo) تفتح السرعة الكاملة.

التنزيل لنظام Windows