مرقوم

المصطلحات القرآنية

الأسماء التي اتفقنا عليها للمصطلحات القرآنية في الكود، وكيف تستخدمها في مشروعك.

v0.1

لنفترض أنك تعمل على تطبيق قرآني، وتريد كتابة متغيّر لرقم الآية. قد تسمّيه aya_number، بينما يكتب زميلك ayah_number، وتجد في مكتبة أخرى verse_number. كلها تعني رقم الآية، لكنك ستبحث بأكثر من صيغة لتجد مواضع استخدامها، وستحتار في الاسم الذي تختاره كلما أضفت كودًا جديدًا.

هذا ما يحاول معيار المصطلحات حله: لكل مفهوم اسم واحد نتفق عليه في الكود وقواعد البيانات والتوثيق. والأشكال التالية تشرح الفكرة كاملة.

كيف اخترنا الأسماء؟

القاعدة الأساسية: المفهوم القرآني يحتفظ باسمه العربي، ونكتبه بحروف لاتينية. فنكتب surah وayah وليس chapter وverse، حتى لو بدت الكلمة الإنجليزية قريبة، لأننا لا نريد أن يضيع المفهوم القرآني الأصلي في الترجمة. أما المفاهيم العامة التي لا تختص بالقرآن فتبقى بأسمائها الإنجليزية المعتادة، مثل word وpage وletter.

بعدها جمعنا من المشاريع والمكتبات التهجئات المختلفة لكل مفهوم، واخترنا له تهجئة واحدة مشتقة من نطقه العربي. مثلًا sura وsurat وsoorah كلها تعود إلى surah. وكل القواعد التي أوصلتنا إلى هذه الأسماء موجودة في معيار التسمية، من متى نحتفظ بالعربية إلى كيف نكتب كل حرف. اختر مفهومًا لترى تهجئاته.

جمعنا ٧٥٥ تهجئة، وتعود كلها إلى ١٨٠ اسمًا.

ماذا يعني كل اسم؟

الاسم وحده لا يكفي، نحتاج أن نتفق أيضًا على ما يصفه. لذلك لكل اسم مدخل في القاموس يشرح المفهوم، وما يخرج عنه، وما يرتبط به من مفاهيم. ابحث في الخريطة عن مصطلح، أو مرّر على نقطة (أو المسها في الجوال) لترى روابطها.

الآية

الآيةayah

الآية وحدة من النص القرآني تقع داخل سورة ولها حدود محددة.

و١٨ أخرى
اقرأ المدخل
١٨٠ مفهومًا في ١٩ موضوعًا. مرّر على نقطة أو المسها لترى روابطها، ثم اضغطها أو المسها مرة أخرى لقراءة المدخل. أسماء المواضيع تفتح صفحاتها.

ما هي السجلات؟

بعض المفاهيم تأخذ قيمتها من قائمة محددة. مثلًا، عدد آيات سورة البقرة ٢٨٥ أو ٢٨٦ أو ٢٨٧ بحسب نظام العد. فإذا حفظت رقم الآية من غير نظام العد، لن يعرف من يقرأ بياناتك أي آية تقصد.

لذلك نسمّي في السجلات كل عضو في هذه القوائم: أنظمة العد، والقراءات والرواة والروايات، وأسماء السور، ومواضع السجدة، وغيرها.

أعداد الآيات في أنظمة العد الستة

رقم الآية وحده لا يكفي، احفظ معه نظام العد.

فارق ٨ آيات
البَقَرَةالسورة ٢من ٢٨٥ إلى ٢٨٧ آية حسب نظام العد
العَدّ المَدَنِيّ الأَوَّل٢٨٥من ٦٬٢١٧
العَدّ المَدَنِيّ الأَخِير٢٨٥من ٦٬٢١٤
العَدّ المَكِّيّ٢٨٥من ٦٬٢١٩
العَدّ الكُوفِيّ٢٨٦من ٦٬٢٣٦
العَدّ البَصْرِيّ٢٨٧من ٦٬٢٠٤
العَدّ الدِّمَشْقِيّ٢٨٥من ٦٬٢٢٦
٦٧ سورة من ١١٤ لها أكثر من عدد. يوضح كل عمود الفرق بين أعداد السورة. مرّر على الأعمدة أو استخدم الأسهم.
القراء العشرة ورواتهم

كل خط في الدائرة رواية: يصل الراوي بالقارئ الذي روى عنه، ومن هنا جاء اسمها، مثلًا حفص عن عاصم.

نَافِعابْن كَثِيرأَبُو عَمْروابْن عَامِرعَاصِمحَمْزَةالكِسَائِيأَبُو جَعْفَريَعْقُوبخَلَف العَاشِرقَالُونوَرْشالبَزِّيقُنْبُلالدُّورِيالسُّوسِيهِشَامابْن ذَكْوَانشُعْبَةحَفْصخَلَفخَلَّادأَبُو الحَارِثابْن وَرْدَانابْن جَمَّازرُوَيْسرَوْحإِسْحَاقإِدْرِيس
حَفْص عَن عَاصِم
hafsالراويanعنasimالقارئ

تُقرن قراءة عَاصِم تقليديًا بنظام العَدّ الكُوفِيّ: ٦٬٢٣٦ آية.

الدوري يروي عن قارئين، ولذلك يعبر أحد الخطوط الدائرة.

كيف أستخدمها في مشروعي؟

أسهل طريقة أن تضيف أداة Quranic Terminology Lint إلى pre-commit في مشروعك. بعدها يُفحص كل commit، فإذا كتبت aya_number مثلًا، تخبرك الأداة بالاسم الذي اتفقنا عليه والقاعدة التي يستند إليها.

  1. أضف الأداة إلى ملف .pre-commit-config.yaml في مشروعك.
  2. شغّل pre-commit install مرة واحدة. تحتاج الأداة Python 3.10 أو أحدث.
  3. اكتب الكود كعادتك. إذا اختلف اسم عما اتفقنا عليه، يتوقف الـ commit ويظهر لك الاسم الصحيح.
.pre-commit-config.yaml
repos:
  - repo: https://github.com/marqoom-specs/quranic-terminology-lint
    rev: v0.4.0
    hooks:
      - id: quranic-terminology
pre-commit install
مثال على ملاحظة
src/model.ts:12: error getSuraNo → getSurahNumber (rule 068: Reference numbers)

في هذه الصفحة