البنية المعمارية
تتكوّن منظومة الترجمة الخاصة بـ Champollion من ثلاث أدوات مستقلة تعمل معًا من خلال عقود محددة بوضوح. لا تعتمد أي منها على الأخرى وقت البناء، بل تتواصل عبر صيغة إضافات الأساليب (method plugin) المشتركة وعقد REST API.
القطع الثلاث
champollion (هذا المشروع)
أداة المطورين مفتوحة المصدر. تترجم ملفات اللغات باستخدام أساليب قابلة للتوصيل. بدون أي اعتماديات، والتهيئة اختيارية، وتعمل فور التثبيت.
الأساليب المدمجة:
llm→ OpenRouter / أي نموذج لغوي كبير (أكثر من 200 نموذج)llm-coached→ نموذج لغوي كبير + توجيه نحوي/قاموسيopenai→ واجهة OpenAI API المباشرة (GPT-4o، GPT-4o-mini)anthropic→ واجهة Anthropic API المباشرة (Claude Sonnet، Haiku، Opus)gemini→ واجهة Google Gemini API المباشرة (Flash، Pro — تتوفر فئة مجانية)google-translate→ Google Cloud Translation API v2deepl→ واجهة DeepL API مع دعم المساردmicrosoft-translator→ Azure Cognitive Services Translatorlibretranslate→ LibreTranslate ذاتي الاستضافة (ترخيص AGPL، مجاني)api→ قناة بسيطة إلى أي نقطة نهاية REST بعيدة
Eval Harness (مشروع مرافق)
أداة بحثية لتطوير أساليب الترجمة واختبارها وقياس أدائها. عندما يصل أسلوب ما إلى جودة مقبولة، تصدّر الأداة إضافة أسلوب (method plugin) — وهي ملف تعريف method.json وملفات بيانات توجيه اختيارية.
لا تعمل هذه الأداة أبدًا داخل champollion. فهي أداة منفصلة تنتج مخرجات ثابتة (ملفات JSON)، ويقوم Champollion ببساطة بقراءة تلك الملفات.
Champollion Translate (مخطط له)
خدمة API بنظام الاستخدام المقنّن تستضيف أساليب ترجمة احتكارية على جانب الخادم — حيث لا تغادر التوجيهات (prompts) وبيانات التوجيه والمسارات اللغوية الخادم أبدًا.
كيف تترابط
Eval Harness ← champollion (تصدير أحادي الاتجاه)
العقد: مواصفات الإضافات
Champollion Translate ← champollion (واجهة API وقت التشغيل)
إن APIMethod في Champollion هو قناة صمّاء. يرسل المفاتيح ويستقبل الترجمات. لا يحتوي على أي منطق ترجمة ولا أي محتوى احتكاري.
ما تعرفه كل قطعة عن الأخريات
| الأداة | تعرف champollion؟ | تعرف Champollion Translate؟ | تعرف الـ harness؟ |
|---|---|---|---|
| champollion | (هي champollion) | نعم — أسلوب api يستدعيها | لا — تقرأ صادرات الإضافات فقط |
| Champollion Translate | نعم — تخدم طلباتها | (هي Champollion Translate) | لا — تستقبل الأساليب المنشورة |
| Eval Harness | نعم — تصدّر صيغة الإضافات | لا — تُنشر الأساليب بشكل منفصل | (هي الـ harness) |
سيناريوهات المستخدمين
السيناريو 1: مجاني، بدون تهيئة (معظم المستخدمين)
export OPENROUTER_API_KEY=sk-...
npx champollion sync
يستخدم الأسلوب المدمج llm. بلا إضافات، بلا Champollion Translate، بلا harness.
السيناريو 2: خط أساس باستخدام Google Translate
export GOOGLE_TRANSLATE_API_KEY=AIza...
npx champollion sync
يستخدم الأسلوب المدمج google-translate. لا حاجة لأي إضافات.
السيناريو 3: إضافة مفتوحة مع بيانات توجيه مضمّنة
champollion plugin install ./french-formal-v1/
champollion sync
تحتوي الإضافة على type: "llm-coached" → يستخدم champollion مفتاح OpenRouter الخاص بالمستخدم. بيانات التوجيه محلية (دون استدعاء للخادم).
السيناريو 4: توجيه ذاتي الصنع (بلا إضافة، بلا harness)
{
"pairs": {
"en:fr": { "method": "llm-coached" }
}
}
يحتفظ المستخدم بقواعده النحوية وقاموسه الخاصين في .champollion/coaching/fr.json.
بطاقات اللغات
تُهيَّأ كل لغة في champollion من خلال بطاقة لغة (Language Card) — وهي ملف JSON موحّد يحتوي على إعدادات مسبقة لمستويات الخطاب، وقواعد الرسمية، وأعلام دعم الأساليب، وأعراف الطباعة، والتصنيف الجينالوجي، وبيانات مرجعية لغوية.
تُحمَّل البطاقات فورًا عند الاستيراد. تحتوي كل بطاقة على جميع البيانات الوصفية التي يحتاجها محرك الترجمة ووثائق المطورين — فلا توجد طبقة مرجعية منفصلة. تُولَّد البطاقات من مصادر موثوقة (IANA، CLDR، Glottolog، WALS) باستخدام scripts/generate-language-card.mjs وscripts/build-language-tree.mjs، ثم تُراجَع بشريًا لضمان الدقة اللغوية.
مبادئ التصميم
- لا اعتماديات دائرية. الجسور أحادية الاتجاه.
- Champollion هو النواة الخفيفة. بدون اعتماديات، والتهيئة اختيارية. الإضافات وواجهة API هي إضافات اختيارية.
- حماية الملكية الفكرية معمارية. تبقى التقنيات الاحتكارية على جانب الخادم. لا تشحن حزمة npm أي محتوى احتكاري.
- صيغة الإضافات هي العقد. كل شيء يمر عبر
method.json. - لكل أداة مهمة واحدة. Harness → تطوير الأساليب. Champollion Translate → استضافة الأساليب. Champollion → ترجمة الملفات.
انظر أيضًا
- أساليب الترجمة — كيف يعمل كل أسلوب مدمج
- مواصفات الإضافات — صيغة ملف التعريف method.json
- Eval Harness — الأداة البحثية المرافقة
- تقديم أسلوب عبر API — استضافة مسارات ترجمة مخصصة
- دعم لغة محدودة الموارد — حالة الاستخدام التي قادت إلى هذه البنية