مسرد الترجمة 101 — تثبيت أسماء الشخصيات والمصطلحات عبر الترجمة الآلية
تُسطّح الترجمة الآلية أسماء العلم. يفرض مسرد الترجمة أزواج مصطلحات من المصدر→الهدف عبر كل دفعة وكل مزوّد — بحيث يُقرأ اسم بطلتك نفسه في الفصل 1 والفصل 47. كيف يعمل قناع العناصر النائبة في RuneTranslate، ومتى تتعاون TM والمسرد، وسير عمل CSV لمشاركة المسارد بين المترجمين.
مرّر رواية مرئية يابانية من 200 سطر عبر DeepL فيخرج اسم البطلة على هيئة Alice. مرّر الـ200 سطر التالية فيصبح Aris. أما الدفعة التالية فتقرّر Arisu. وبحلول الفصل الرابع يصبح لها ثلاثة أسماء بحسب المشهد الذي تقرؤه.
هذا هو أكثر أنماط فشل الترجمة الآلية شيوعًا على الإطلاق في الألعاب السردية الطويلة — ليس قواعد نحوية سيئة ولا صياغة ركيكة، بل أسماء علم غير متسقة. فالمزوّد لا يملك ذاكرة بين الدفعات؛ إنه ببساطة يخمّن أرجح كتابة لاتينية في كل مرة يرى فيها اسمًا. وعلى امتداد لعبة RPG من 40 ساعة، يحوّل هذا الانحراف ترجمةً مقروءةً إلى شيء يبدو وكأن أربعة أشخاص مختلفين ترجموه.
يعالج مسرد الترجمة هذا الأمر. تُعرّف أزواج المصطلحات من المصدر إلى الهدف مرة واحدة — アリス → Alice، 勇者 → Hero، 魔王 → Demon Lord — وتلتزم بها كل دفعة ترجمة لدى كل مزوّد. بل إن المزوّد لا يرى تلك المصطلحات في صورتها الخام على الإطلاق. هذا هو موضوع هذه المقالة.
ما هو المسرد فعليًا
المسرد في RuneTranslate هو قائمة من القواعد ثلاثية الأعمدة:
- source — السلسلة الفرعية في لغة المصدر المراد تثبيتها (اليابانية افتراضيًا؛ وأي لغة مصدر مدعومة) (مثل
勇者) - target — الشكل الذي تريد أن يُعرض به في المُخرَج (مثل
Hero) - targetLang — لغة المُخرَج التي تنطبق عليها هذه القاعدة (بحيث يمكنك امتلاك مسرد واحد يغطي الإنجليزية + الإسبانية + الألمانية دفعة واحدة)
أضف 30 قاعدة كهذه لقائمة شخصيات رواية مرئية اعتيادية، وتكون قد أزلت صنف انحراف أسماء العلم بأكمله دفعة واحدة.
كيف يعمل قناع العناصر النائبة (بمعزل عن المزوّد)
الطريقة الساذجة لفرض المسرد هي كتابة تعبير نمطي (regex) يستبدل المصطلح الهدف بعد تشغيل المزوّد. هذا ينجح نوعًا ما مع DeepL لكنه يفشل مع مزوّدي نماذج اللغة الكبيرة (LLM): فقد أعاد النموذج صياغة الجملة حول المصطلح الذي ترجمه، ويترك استبدال التعبير النمطي أدوات تعريف معلّقة وحروفًا كبيرة في غير موضعها.
يقنّع RuneTranslate مصطلحات المسرد قبل أن تصل إلى المزوّد. يمرّ المشغّل (runner) على كل سلسلة مصدر مجمّعة في دفعة ويستبدل كل مصدر في المسرد بعنصر نائب رقمي — [[G0]]، [[G1]]، وهكذا. فيرى المزوّد رموزًا مبهمة لا يمكنه إساءة ترجمتها. وفي طريق العودة، تُستبدل تلك العناصر النائبة بمصطلحك الهدف، ثم يُستعاد فوقها قناع وسوم المحرك (أكواد RPG Maker، ووسوم KAG، وإقحامات Ren'Py).
النتيجة: تُعرَض مصطلحات المسرد بشكل متطابق سواء كنت على DeepL أو OpenAI GPT-4o أو Anthropic Claude أو Google Translate المجاني. القناع نفسه، وخطوة الاستعادة نفسها، والمُخرَج النهائي نفسه.
ترتيب الأولوية — TM تتفوق على المسرد والمسرد يتفوق على المزوّد
من المفيد معرفة كيف تُعالَج دفعة الترجمة داخل المشغّل، لأن ذلك يفسّر لماذا لا تكلّفك تعديلات المسرد أي أرصدة لدى المزوّد، وكيف تتعاون ذاكرة الترجمة مع المسرد:
- التفافة ذاكرة الترجمة (TM). إذا سبق لك ترجمة سلسلة المصدر هذه بعينها في أي مشروع سابق، تُقدَّم الترجمة المخزّنة فورًا — صفر استدعاءات للمزوّد، وصفر تكلفة. وتُزال الوحدة من الدفعة قبل أن يراها المزوّد.
- قناع المسرد يُطبَّق على أي وحدات لم تقدّمها ذاكرة الترجمة.
- استدعاء المزوّد يحدث على النص المُقنَّع. وهذه هي الخطوة الوحيدة التي تكلّف مالًا / تُحتسب من الحصة.
- الاستعادة — تصبح العناصر النائبة للمسرد مصطلحاتك الهدف، ثم تُستعاد وسوم المحرك فوقها.
- الكتابة في TM — يُخزَّن السطر المترجَم النهائي بحيث يعود في المرة القادمة التي ترى فيها هذه اليابانية إلى الخطوة 1 مجانًا.
إصابات TM هي أكبر موفّر للتكلفة. والمسرد هو أكبر موفّر للجودة. ومعًا يتضاعف أثرهما: عدّل سطرًا يدويًا مرة واحدة، فيُخزَّن في TM، ويبقي المسرد أسماء العلم متسقة عبر إصابات المخزن المؤقت والدفعات الجديدة على حد سواء.
تفاعل TM + المسرد (حارس التجاوز)
ثمة حالة حدّية دقيقة تستحق المعرفة: ماذا لو ترجمت قبل ثلاثة أشهر 100 سطر تحتوي على 勇者 من دون مسرد، فخزّنتها ذاكرة الترجمة عشوائيًا بصيغ Warrior / Champion / Hero — والآن تضيف 勇者 → Hero إلى المسرد؟
بسذاجة، ستظل ذاكرة الترجمة تعيد Warrior في المرة القادمة التي ترى فيها 勇者 — فذلك ما جرى تخزينه في النهاية. يحتاط RuneTranslate لهذا: عند حدوث إصابة TM، إذا ظهر مصدر من المسرد في الوحدة الحالية ولم يحتوِ الهدف المخزَّن على الصيغة الهدف للمسرد، يُتجاوَز الاعتماد على المخزن المؤقت ويُتخطَّى، وتنتقل تلك الوحدة إلى استدعاء جديد للمزوّد. وسيعرض ملخّص نهاية التشغيل سطرًا „تم تجاوز N وحدة للمخزن المؤقت لاحترام تغييرات المسرد“ لتعلم أن ذلك قد حدث.
الأثر الصافي: إضافة مدخل مسرد جديد إلى مشروع قديم لا يوقعك في فخ ترجمات قديمة عالقة. ما عليك سوى إعادة تشغيل تمريرة الترجمة على الوحدات المتأثرة.
بناء مسردك — ماذا تضيف
لمشروع اعتيادي، رتّب حسب الأثر:
- قائمة الشخصيات أولًا. كل شخصية لها اسم. اسحبها من ويكي / VNDB / شاشة اعتمادات اللعبة نفسها إن أمكن. هذا وحده يزيل 80% من الانحراف في الألعاب الطويلة.
- الأماكن ثانيًا. المدن والزنازين والمناطق والممالك. خصوصًا كل ما يُكتب بكانجي له أكثر من كتابة لاتينية محتملة.
- الهجمات / المهارات المميّزة ثالثًا. أسماء هجمات الزعماء، وأسماء التعاويذ المتكررة، وأسماء الحركات الخاصة. مهمة لألعاب RPG والروايات المرئية كثيفة القتال.
- المصطلحات الخاصة بالعالم رابعًا. الكلمات المبتكرة التي تستخدمها اللعبة للأعراق / الفئات / التحف / العملة.
ما لا ينبغي إضافته: الكلمات الشائعة. 剣 → sword وصفة للنتائج الإيجابية الكاذبة — إذ ستثبّت كل كلمة مركّبة تحتوي على 剣 (魔剣، 聖剣، 剣士) كان المزوّد سيترجمها جيدًا بمفرده. مدخلات المسرد هي مطابقات حرفية للسلاسل الفرعية؛ فاجعلها طويلة بما يكفي لتكون فريدة لاسم العلم الذي تحاول تثبيته.
استيراد / تصدير CSV — مشاركة المسارد
أتترجم مشروع ترجمة من صنع المعجبين مع متعاونين؟ يحتوي تبويب المسرد في الإعدادات على زرّي استيراد CSV وتصدير CSV اللذين يذهبان بمدخلاتك ويعيدانها عبر ملف CSV بمعيار RFC-4180:
source,target,targetLang
勇者,Hero,en
アリス,Alice,en
魔王,Demon Lord,en
村人A,Villager A,en
勇者,Héroe,es
صف الترويسة إلزامي. الحقول التي تحتوي على فواصل أو علامات اقتباس أو أسطر جديدة تُحاط بعلامات اقتباس مزدوجة؛ وعلامات الاقتباس المضمّنة تُهرَّب على هيئة "". UTF-8 مع BOM اختياري عند الاستيراد (يصدّر Excel بترميز UTF-8-BOM افتراضيًا). تُتخطّى الصفوف الفارغة والصفوف ذات أكواد targetLang غير المدعومة مع بيان سبب لكل صف.
يوفّر الاستيراد وضع Merge (إضافة صفوف CSV فوق مسردك الحالي، وإزالة التكرار حسب source+اللغة، وتغليب CSV عند التعارض) أو وضع Replace (محو الموجود واستخدام ما في CSV فقط). Merge هو الافتراضي الصحيح للمتعاونين الذين يتشاركون مسردًا جزئيًا؛ وReplace مناسب للأرشفة / استعادة النسخ الاحتياطية.
القيود الحالية
- مطابقات حرفية للسلاسل الفرعية فقط. لا تعابير نمطية ولا أحرف بدل. إن احتجت إلى تثبيت
勇者よو勇者だمعًا، تضيف مدخلين في الوقت الراهن. - أزواج لكل لغة هدف. يرتبط مدخل المسرد بلغة مُخرَج واحدة. لا يمكنك تعريف „source=勇者، targets=Hero (en) + Héroe (es) + Held (de)“ في صف واحد — تضيف ثلاثة صفوف. وصيغة CSV تدعم هذا بشكل طبيعي.
- لطبقة Supporter / Pro فقط. تعرض الطبقة المجانية بطاقة المسرد لكن المدخلات لا تؤثر في عمليات الترجمة. ويشير مربّع حوار الاكتشاف إلى Patreon.
خاتمة
من بين كل روافع الجودة في الترجمة الآلية، يمتلك المسرد أعلى نسبة أثر إلى جهد — عشر دقائق في بنائه توفّر عليك ساعات من الإصلاح اليدوي للأسماء غير المتسقة لاحقًا. ابدأ بقائمة الشخصيات، وأصدر تمريرة أولى، ثم أضف المصطلحات وأنت تقرأ النتيجة وتلاحظ الانحراف.
اقرنه بـمزوّد يتعامل مع النبرة جيدًا (Anthropic Claude هو خياري الافتراضي للروايات المرئية) ويكون مُخرَجك قد تجاوز بالفعل عتبة „ترجمة آلية مقروءة“ ودخل نطاق „يمكن إصدارها كترجمة من صنع المعجبين مع تحرير يدوي خفيف“.
نزّل RuneTranslate لتجربة المسرد على مشروع حقيقي. إنها ميزة Supporter ($3/mo)؛ وتبقى الطبقة المجانية مفتوحة بالكامل للمحركات + المزوّدين.
مستعد لتجربة RuneTranslate؟
تفتح الباقة المجانية كل محرك + كل مزود ترجمة. باقة Supporter ($3/mo) تفتح السرعة الكاملة.
التنزيل لنظام Windows