اللغات المصطنعة، أنظمة الكتابة وقواعد الإملاء
يوفر rosetta دعمًا من الدرجة الأولى للغات المصطنعة (constructed languages) عبر سجلات النماذج اللغوية الكبيرة (LLM registers) ومحولات النصوص الحتمية. يغطي هذا الدليل كيفية عمل دعم اللغات المصطنعة، والخطوط التي تحتاجها، وكيفية إضافة لغتك الخاصة.
:::tip لماذا تعتبر اللغات المصطنعة مهمة اللغات المصطنعة ليست مجرد حداثة — فهي تستخدم نفس البنية التحتية المستخدمة للغات الحقيقية غير المخدومة بشكل كافٍ. تعمل بوابة الجودة، ونظام التوجيه، ومسار تحويل النصوص بشكل متطابق مع لغات مثل Klingon و Plains Cree. إذا كان مسار لغتك المصطنعة يعمل بنجاح، فإن مسار لغتك ذات الموارد المحدودة سيعمل بنجاح أيضًا. :::
اللغات المصطنعة المدعومة
| اللغة | الرمز | محول النصوص | الخط المطلوب |
|---|---|---|---|
| Klingon | tlh | ✅ الرومنة → pIqaD | خط PUA (مثل pIqaD qolqoS) |
| Sindarin (Tolkien Elvish) | x-elvish-s | ✅ اللاتينية → Tengwar | خط CSUR PUA |
| Kryptonian | x-kryptonian | ✅ اللاتينية → Kryptonian | خط PUA |
| Pirate English | x-pirate | ❌ السجل فقط | لا يوجد |
| Shakespearean English | x-shakespeare | ❌ السجل فقط | لا يوجد |
| Yoda-speak | x-yoda | ❌ السجل فقط | لا يوجد |
تستخدم رموز اللغات المصطنعة البادئة x- وفقًا لاتفاقية الاستخدام الخاص BCP-47، باستثناء Klingon (tlh) التي تمتلك رمز ISO 639-3 مخصصًا من قبل SIL International.
متطلبات Unicode و PUA والخطوط
منطقة الاستخدام الخاص (PUA)
تستخدم لغات Klingon (pIqaD) و Sindarin (Tengwar) و Kryptonian رموز منطقة الاستخدام الخاص (PUA) في Unicode. منطقة PUA هي النطاق U+E000–U+F8FF — وهذه النقاط الرمزية ليس لها تعيين قياسي. يحتفظ ConScript Unicode Registry (CSUR) بتعيينات متفق عليها مجتمعيًا للنصوص الخيالية، ولكنها ليست جزءًا من معيار Unicode.
ما يعنيه هذا عمليًا:
- يُعرض نص PUA على شكل مربعات فارغة (□□□) إذا لم يتم تحميل الخط الصحيح
- قد تقوم الخطوط المختلفة بتعيين أشكال (glyphs) مختلفة لنفس النقاط الرمزية في PUA
- لا يقوم rosetta بتضمين خطوط PUA — يجب عليك تحميلها بنفسك
- لن تقوم خطوط النظام أبدًا بعرض هذه الرموز
نطاقات PUA حسب النص
| النص | نطاق PUA | مرجع CSUR |
|---|---|---|
| Klingon (pIqaD) | U+F8D0–U+F8FF | CSUR Klingon |
| Tengwar (Elvish) | U+E000–U+E07F | CSUR Tengwar |
| Kryptonian | يختلف حسب الخط | لا يوجد معيار CSUR |
تحميل خطوط الويب PUA
لعرض نص لغة مصطنعة يعتمد على PUA في تطبيق الويب الخاص بك، قم بتحميل الخط المناسب عبر CSS:
/* Load a Klingon PUA font */
@font-face {
font-family: 'pIqaD';
src: url('/fonts/piqad.woff2') format('woff2');
unicode-range: U+F8D0-U+F8FF;
}
/* Apply to Klingon text elements */
[lang="tlh"] {
font-family: 'pIqaD', sans-serif;
}
:::warning دعم Unicode غير مضمون لقد رفض اتحاد Unicode صراحةً ترميز النصوص الخيالية في المعيار. يتم الحفاظ على تعيينات PUA من قبل المجتمع وقد تتعارض بين تطبيقات الخطوط. حدد دائمًا الخط الدقيق الذي يستخدمه مشروعك، واختبر العرض عبر المتصفحات. :::
محولات النصوص
كيف تعمل
يُعد تحويل النصوص في rosetta إجراءً لاحقًا للترجمة (post-translation hook):
- يقوم النموذج اللغوي الكبير (LLM) بترجمة النص إلى نص عملي (عادةً اللاتينية أو SRO)
- تقوم بوابة الجودة بالتحقق من صحة المخرجات
- يقوم المحول الحتمي بتحويل النص المعتمد إلى نص العرض
- تتم كتابة النص المحول على القرص
يعمل هذا النهج المكون من خطوتين لأن النماذج اللغوية الكبيرة (LLMs) تنتج مخرجات أفضل عند العمل بنصوص تعتمد على اللاتينية. يضمن المحول الحتمي إخراج النص الصحيح دون الاعتماد على معرفة النموذج بالنصوص (والتي غالبًا ما تكون غير موثوقة).
المحولات الخمسة بالكامل
يأتي rosetta مزودًا بخمسة محولات نصوص مدمجة:
Plains Cree: SRO → المقاطع اللفظية (crk)
من قواعد الإملاء الرومانية القياسية (SRO) إلى المقاطع اللفظية للسكان الأصليين في كندا.
Input: "tawâw"
Output: "ᑕᐚᐤ"
تستخدم حروف العلة الطويلة علامات التشكيل (macron/circumflex): ê, î, ô, â. يتعامل المحول مع جميع علامات التشكيل الخاصة بـ SRO ويعينها إلى الأحرف المقطعية الصحيحة. راجع دعم لغة ذات موارد محدودة للحصول على مسار Cree الكامل.
Serbian: اللاتينية → السيريلية (sr)
تحويل حتمي من اللاتينية إلى السيريلية للغة الصربية.
Input: "zdravo"
Output: "здраво"
يتعامل هذا مع تعيين الأبجدية الصربية بالكامل بما في ذلك الحروف المزدوجة (digraphs) (lj → љ, nj → њ, dž → џ).
Klingon: الرومنة → pIqaD (tlh)
نظام الرومنة الخاص بـ Marc Okrand إلى رموز pIqaD في PUA.
Input: "Qapla'" (romanized Klingon)
Output: [pIqaD PUA] (requires pIqaD font to render)
Sindarin: اللاتينية → Tengwar (x-elvish-s)
تعيين Tengwar في وضع Sindarin الخاص بـ Tolkien.
Input: "elen síla" (Latin Sindarin)
Output: [Tengwar PUA] (requires Tengwar font to render)
Kryptonian: اللاتينية → Kryptonian (x-kryptonian)
تعيين نص Kryptonian الخاص بمعجم المعجبين.
Input: "Kal-El"
Output: [Kryptonian PUA] (requires Kryptonian font to render)
تشغيل المحول
قم بتعيين حقل scripts في تكوين لغتك. بالنسبة للمحولات المدمجة، يتم اكتشاف ذلك تلقائيًا من رمز اللغة:
{
"languages": {
"sr": { "scripts": "sr" },
"crk": {}
}
}
يتم اكتشاف Plains Cree (crk) تلقائيًا — لا تحتاج إلى تعيين scripts بشكل صريح.
اللغات متعددة النصوص
تستخدم بعض اللغات الحقيقية نصوصًا نشطة متعددة:
| اللغة | النصوص | نهج rosetta |
|---|---|---|
| Serbian | اللاتينية + السيريلية | محول النصوص (sr) — الترجمة باللاتينية، والتحويل إلى السيريلية |
| Chinese | المبسطة + التقليدية | رموز لغات (locale codes) منفصلة (zh مقابل zh-TW) بسجلات مميزة |
بالنسبة للغات التي يخدم فيها كلا النصين نفس الجمهور (Serbian)، استخدم محول نصوص. أما بالنسبة للغات التي تخدم فيها النصوص جماهير مختلفة (الصينية المبسطة للصين القارية، والتقليدية لتايوان/هونغ كونغ)، فاستخدم رموز لغات (locale codes) منفصلة.
ملاحظات حول قواعد الإملاء
السجلات ليست مجرد نبرة صوت — بل تحمل تعليمات إملائية توجه النموذج اللغوي الكبير (LLM) نحو اصطلاحات الكتابة الصحيحة.
صيغ المخاطبة الرسمية
تتضمن السجلات المدمجة في rosetta صيغة المخاطبة الرسمية المناسبة ثقافيًا لكل لغة:
| اللغة | الصيغة الرسمية | تعليمات السجل |
|---|---|---|
| German | Sie | Use Sie-form for formal address |
| French | vous | Use vous-form |
| Russian | вы | Professional register with вы-form |
| Turkish | siz | Professional register with siz-form |
| Korean | 합쇼체 | Formal Korean (합쇼체) |
| Japanese | です/ます | Polite professional register (です/ます form) |
| Polish | Pan/Pani | Professional register with Pan/Pani form |
الكتابة الشاملة للجنسين
تحتوي كل بطاقة لغة على حقل gender.inclusiveGuidance يتضمن نصائح خاصة باللغة. يتم إدراج هذا في موجه ترجمة LLM بشكل منفصل عن الإعداد المسبق للسجل، بحيث يتم تطبيقه باستمرار بغض النظر عن الإعداد المسبق للرسمية الذي يختاره المستخدم:
- French: الكتابة الشاملة (Écriture inclusive) مع تدوين النقطة الوسطى (مثل "Connecté·e")
- German: تدوين النقطتين (Doppelpunkt) (مثل "Benutzer:innen")
- Spanish: يُفضل إعادة الهيكلة المحايدة جنسانيًا؛ ويُستخدم تدوين الشرطة المائلة (مثل "usuario/a") كبديل احتياطي
بالنسبة للغات التي لا تحتوي على إرشادات محددة في بطاقتها (مثل Korean، واللغات المصطنعة)، يعود النظام إلى قاعدة عامة: "تفضيل الصيغ المحايدة جنسانيًا أو الخيار الأكثر شمولاً المتاح."
متطلبات نصوص من اليمين إلى اليسار (RTL)
تشير سجلات اللغات العربية والعبرية والفارسية والأردية جميعها إلى متطلبات الكتابة من اليمين إلى اليسار: Ensure text reads naturally in RTL layout contexts.
تجاوز أي سجل
كل سجل عبارة عن قيمة تكوين — يمكنك تجاوزها لتتطابق مع نبرة مشروعك:
{
"languages": {
"fr": {
"register": "Casual French. Use tu-form. Conversational blog tone. Gender-neutral when possible."
},
"de": {
"register": "Informal German. Use du-form. Tech startup voice."
}
}
}
راجع التكوين للحصول على مرجع التكوين الكامل.
إضافة لغة مصطنعة جديدة
خطوة بخطوة
-
اختر رمز الاستخدام الخاص BCP-47: استخدم البادئة
x-(مثلx-dothraki،x-valyrian). -
أضف إلى تكوينك:
{
"languages": {
"x-dothraki": {
"register": "Dothraki language. Use David J. Peterson's vocabulary from the Living Language Dothraki textbook. Harsh, direct tone. No articles, no verb 'to be'."
}
}
}
-
(اختياري) أضف محول نصوص: إذا كانت لغتك المصطنعة تستخدم نص عرض غير لاتيني، فأضف محولاً في
lib/scripts.jsوقم بتسجيله فيSCRIPT_CONVERTERS. -
الاختبار: قم بتشغيل
i18n-rosetta sync --dryلمعاينة الترجمات دون كتابة الملفات. -
تحقق من بوابة الجودة: قد تحتاج بوابة الجودة إلى ضبط لتناسب لغتك المصطنعة — خاصة فحص
requireNonLatinإذا كانت لغتك المصطنعة تستخدم رموز PUA.
:::note تعتمد جودة اللغة المصطنعة على معرفة LLM لا يمكن للنموذج اللغوي الكبير (LLM) الترجمة إلا إلى لغة مصطنعة رآها في بيانات التدريب. تعمل اللغات المصطنعة الموثقة جيدًا (Klingon، Sindarin، Dothraki) بشكل جيد. قد تنتج اللغات المصطنعة الغامضة أو المخترعة حديثًا نتائج غير متسقة. استخدم بيانات التوجيه لتحسين الجودة. :::
انظر أيضًا
- اللغات المدعومة — جدول اللغات الكامل مع توفر الطرق
- محولات النصوص — التفاصيل الفنية لمسار التحويل
- طرق الترجمة — كيف تعمل كل طريقة ترجمة
- التكوين — مرجع التكوين بما في ذلك إعداد اللغة والسجل
- دعم لغة ذات موارد محدودة — نفس البنية التحتية المطبقة على اللغات الحقيقية غير المخدومة بشكل كافٍ