الانتقال إلى المحتوى الرئيسي

إجراء توثيق المصادر في بطاقات اللغات

كيف يضمن Champollion إمكانية تتبّع كل ادعاء وارد في بطاقة لغة إلى مصدر أولي.


1. المشكلة

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

  • حقل dataSources هو مصفوفة مسطّحة من السلاسل النصية (مثل ["cldr-48", "glottolog-5.3"])
  • لا توجد دقة في التوثيق على مستوى كل حقل
  • ادعاءات مثل "~2.8 مليون متحدث" أو "مهددة" لا تملك مصدرًا قابلًا للتتبع
  • لا يستطيع المراجع تحديد أي مصدر يدعم أي ادعاء

[!CAUTION] الادعاء بلا مصدر هو ادعاء غير قابل للتحقق. بالنسبة لمشروع يقدّم نفسه على أنه دقيق احترافيًا، يجب أن يكون كل تأكيد في بطاقة اللغة قابلًا للتتبع إلى مصدر أولي محدد ومؤرَّخ بإصداره.


2. المصادر الموثوقة (مرتّبة حسب الأولوية)

لكل نوع من الادعاءات، تُعدّ المصادر التالية موثوقة. فضّل دائمًا المصدر الأعلى ترتيبًا المتاح.

التصنيف والهوية

الأولويةالمصدريغطيالترخيصكيفية الاستشهاد
1Glottolog (Max Planck)العائلة اللغوية، الأصول، رمز glottocodeCC-BY 4.0glottolog-5.x
2ISO 639-3 (SIL)رموز ISO، اللغات الكبرىمجانيiso639-3-{date}
3WALS (Max Planck)تعريفات الأجناس اللغوية، السمات النمطيةCC-BY 4.0wals-2024
4CLDR (Unicode)رموز المواقع، رموز الكتابة، قواعد الجمعشروط استخدام Unicodecldr-{version}

الإحصاءات الديموغرافية للمتحدثين وحيوية اللغة

الأولويةالمصدريغطيالترخيصكيفية الاستشهاد
1بيانات التعداد السكاني الوطنيالأعداد الرسمية للمتحدثينمتفاوت (عادةً عام)census-{country}-{year}
2Ethnologueتقديرات أعداد المتحدثين، مقياس EGIDSملكية خاصة (اشتراك)ethnologue-{edition}
3UNESCO Atlasحالة التهديد بالاندثارمجانيunesco-atlas-{year}
4الأوراق الأكاديمية المنشورةالمسوح الإقليمية للمتحدثينترخيص خاص بكل ورقة{author}-{year}
5Katig Collectiveاللغات الفلبينيةأكاديميkatig-{year}

[!WARNING] لا تستخدم أبدًا Wikipedia أو نصوصًا مولّدة بنماذج اللغة الكبيرة (LLM) أو المعرفة الذاتية كمصدر أولي للادعاءات الديموغرافية. هذه مصادر ثانوية/ثالثية في أحسن الأحوال. تتبّع دائمًا وصولًا إلى البيانات الأولية.

دعم الطرق (تغطية واجهات برمجة تطبيقات الترجمة)

الطريقةمصدر التحققكيفية التحققكيفية الاستشهاد
Google Translateقائمة اللغاتاستدعاء API أو صفحة التوثيقgoogle-translate-{date}
DeepLقائمة اللغاتاستدعاء APIdeepl-api-{date}
Microsoft Translatorقائمة اللغاتصفحة التوثيقms-translator-{date}
LibreTranslateقائمة اللغاتاستدعاء APIlibretranslate-{date}
NLLBFLORES READMEملف README + بطاقة النموذجnllb-200-{date}
LLMدائمًا trueغير منطبق (الجودة متفاوتة)llm-assumed

DLS (الدعم الرقمي للغة)

الأولويةالمصدريغطيكيفية الاستشهاد
1Simons et al. 2022درجات DLS (الأدوات الأصلية البالغ عددها 143)simons-2022
2Ethnologue الإصدار 27 فما بعدهدرجات DLS (الأدوات الموسّعة البالغ عددها 211)ethnologue-{edition}-dls

الطباعة وقواعد الجمع وأنظمة الكتابة

الأولويةالمصدريغطيكيفية الاستشهاد
1CLDRقواعد الجمع، علامات الاقتباس، تنسيق الأرقامcldr-{version}
2Unicode CSURرموز أنظمة الكتابةiso15924-{date}
3كتب النحو المنشورةالقواعد الخاصة بكل لغة{author}-{year}

تأثيرات الاحتكاك اللغوي

الأولويةالمصدريغطيكيفية الاستشهاد
1أوراق اللسانيات التاريخية المنشورةدراسات الكلمات المستعارة، تاريخ الاحتكاك اللغوي{author}-{year}
2كتب النحو المرجعيةأوصاف التأثير البنيوي{grammar-title}-{year}
3WALSالمقارنات النمطيةwals-{feature}-{year}

[!IMPORTANT] ادعاءات تأثيرات الاحتكاك اللغوي هي الأصعب في التوثيق. ادعاءات مثل "طبقة إسبانية عليا، عميقة، 1571–1898" تتطلب خبرة في اللسانيات التاريخية. إذا تعذّر العثور على مصدر منشور، فضع علامة "citation_needed": true على الادعاء بدلًا من التخمين.


3. إجراء التوثيق (خطوة بخطوة)

عند إنشاء بطاقة لغة جديدة

  1. ابدأ بالحقول المعبّأة تلقائيًا:

    • شغّل node scripts/build-language-tree.mjs --enrich ← يعبّئ classification من Glottolog
    • سجّل "glottolog-{version}" في dataSources
  2. أضف بيانات CLDR:

    • ابحث عن قواعد الجمع وعلامات الاقتباس ورمز نظام الكتابة من CLDR
    • سجّل "cldr-{version}" في dataSources
  3. ابحث في الإحصاءات الديموغرافية للمتحدثين:

    • راجع بيانات التعداد السكاني الوطني أولًا
    • قارن مع Ethnologue (إن كان متاحًا)
    • قارن مع UNESCO Atlas
    • سجّل جميع المصادر التي تمت مراجعتها في dataSources
  4. تحقق من دعم الطرق:

    • راجع قائمة اللغات الخاصة بكل API على حدة (لا الذاكرة ولا الافتراضات)
    • سجّل تاريخ التحقق
  5. ابحث في تأثيرات الاحتكاك اللغوي:

    • اعثر على أوراق منشورة في اللسانيات التاريخية
    • وثّق الفترة والنوع والعمق مع الاستشهادات
    • إذا لم يوجد مصدر منشور، أضف "citation_needed": true إلى إدخال التأثير
  6. ابحث في حيوية اللغة:

    • راجع Ethnologue للحصول على مقياس EGIDS
    • راجع UNESCO Atlas لمعرفة حالة التهديد بالاندثار
    • دوّن أي تباينات بين المصادر
  7. عبّئ dataSources:

    • أدرج كل مصدر تمت مراجعته (وليس فقط المصادر التي وفّرت بيانات)
    • استخدم صيغة الاستشهاد الواردة في الجداول أعلاه

عند تحديث بطاقة موجودة

  1. لا تغيّر أبدًا ادعاءً وقائعيًا دون تحديث dataSources
  2. إذا حدّثت عدد المتحدثين، أزل المصدر القديم وأضف الجديد
  3. إذا أضفت دعمًا لطريقة، تحقق منها عبر API وسجّل التاريخ
  4. أرفق ختمًا زمنيًا بجميع عمليات التحقق من دعم الطرق — تغطية واجهات API تتغير بشكل متكرر

4. التحسين المقترح للمخطط: استشهادات على مستوى الحقول

المخطط الحالي (dataSources مسطّح)

"dataSources": ["cldr-48", "glottolog-5.3"]

المشكلة: أي الحقول جاءت من CLDR؟ وأيها من Glottolog؟ وأيها بلا استشهاد؟

التحسين المقترح: dataSources منظَّم

"dataSources": {
"classification": ["glottolog-5.3"],
"vitality.unescoStatus": ["unesco-atlas-2024"],
"vitality.egids": ["ethnologue-27"],
"vitality.speakerCount": ["census-ph-2020", "ethnologue-27"],
"rules.plurals": ["cldr-48"],
"rules.typography": ["cldr-48"],
"contactInfluences": ["blust-2013", "llamzon-1969"],
"methodSupport.googleTranslate": ["google-translate-2024-07"],
"methodSupport.nllb": ["nllb-200-2024-03"],
"dls": ["simons-2022", "ethnologue-27-dls"],
"pipelineReadiness": ["manual-assessment-2025-06"]
}

مسار الترحيل

هذا تغيير متوافق مع الإصدارات السابقة:

  1. تحتفظ البطاقات الموجودة بالمصفوفة المسطّحة (لا تزال صالحة)
  2. تستخدم البطاقات الجديدة الصيغة المنظَّمة
  3. يقبل التحقق من المخطط كلتا الصيغتين
  4. رحّل البطاقات الموجودة تدريجيًا أثناء مراجعتها

[!TIP] تحقّق باستخدام سكربت. أضف سكربت validate-citations.mjs يقوم بما يلي:

  • يتحقق من أن كل بطاقة تحتوي على الأقل على مصادر classification وvitality
  • يحدد البطاقات ذات مصفوفات dataSources المسطّحة للترقية
  • يحذّر من إدخالات methodSupport التي لا تحمل تحققًا مختومًا بالتاريخ

5. قائمة التحقق من الجودة

قبل دمج أي تغيير على بطاقة لغة، تحقق مما يلي:

  • كل عدد للمتحدثين له مصدر (تعداد سكاني أو Ethnologue، وليس Wikipedia)
  • كل حالة UNESCO/EGIDS لها مصدر
  • كل علامة دعم طريقة تم التحقق منها عبر API الفعلي (لا بالافتراض)
  • كل تأثير احتكاك لغوي له مصدر أكاديمي منشور أو موسوم بـ citation_needed
  • التصنيف عُبّئ تلقائيًا من Glottolog (وليس مبنيًا يدويًا)
  • dataSources يدرج جميع المصادر التي تمت مراجعتها
  • لا يعتمد أي ادعاء حصريًا على معرفة مولّدة بنماذج اللغة الكبيرة (LLM)
  • humanReviewed مضبوط على معرّف المراجع وتاريخ المراجعة إذا راجعها متحدث أصلي

6. حقل humanReviewed

يتضمن مخطط بطاقة اللغة حقل humanReviewed الذي قيمته حاليًا null في جميع البطاقات. يجب تعبئة هذا الحقل عندما يراجع البطاقة متحدث أصلي أو لغوي مؤهل:

"humanReviewed": {
"reviewer": "Prof. Kenneth Jamandre",
"affiliation": "University of the Philippines",
"date": "2026-06-08",
"scope": "full",
"notes": "Verified speaker count, vitality assessment, and contact influences."
}

[!IMPORTANT] مراجعة المجتمع اللغوي هي المعيار الذهبي. توفّر البيانات الآلية والأوراق الأكاديمية الأساس، لكن مراجعة المتحدث الأصلي هي المصادقة النهائية. وهذا بالغ الأهمية خصوصًا في:

  • ادعاءات تأثيرات الاحتكاك اللغوي (أفراد المجتمع اللغوي يعرفون الكلمات المستعارة المستخدمة فعليًا)
  • تقييمات حيوية اللغة (أفراد المجتمع اللغوي يعرفون ما إذا كان الأطفال يتحدثون اللغة)
  • أنظمة الرسمية في الخطاب (قد تغفل الأوصاف الأكاديمية أنماط الاستخدام اليومي)

7. مراجع هذا الإجراء

  1. Glottolog: https://glottolog.org — CC-BY 4.0
  2. ISO 639-3: https://iso639-3.sil.org — مجاني
  3. WALS: https://wals.info — CC-BY 4.0
  4. CLDR: https://cldr.unicode.org — شروط استخدام Unicode
  5. Ethnologue: https://www.ethnologue.com — ملكية خاصة (اشتراك)
  6. UNESCO Atlas: http://www.unesco.org/languages-atlas/ — مجاني
  7. Simons et al. (2022): https://aclanthology.org/2022.coling-1.379/
  8. مواصفة بطاقة اللغة في Champollion: cli/website/docs/reference/language-card-spec.md