بناء Arabi.js — تعريب جافاسكربت

جافاسكربت مصدر-مفتوح تعريب

من أكثر مشاريعي طموحاً كان Arabi.js — أداة تحوّل بنية جافاسكربت لدعم الكلمات المفتاحية العربية. الفكرة كانت بسيطة لكن قوية: ماذا لو استطعت كتابة جافاسكربت بالعربية؟

الدافع

بصفتي شخصاً نشأ في مصر، لاحظت أن كثيراً من المبرمجين المبتدئين يعانون من الطبيعة الإنجليزية للغات البرمجة. بينما إتقان اللغة الإنجليزية مهم في التقنية، إلا أن حاجز تعلم مفاهيم البرمجة ولغة أجنبية في نفس الوقت يمكن أن يكون مُرهقاً.

النهج التقني

يعمل Arabi.js من خلال الاستفادة من محلل Babel.js. إليكم النهج العام:

  1. التحليل: نستخدم قواعد PEG.js معدّلة للتعرف على الكلمات المفتاحية العربية
  2. التحويل: يتم تعيين الرموز العربية إلى مكافئاتها في جافاسكربت الإنجليزية
  3. توليد الكود: يتم توليد جافاسكربت قياسي يمكن تشغيله في أي بيئة

مثال

// بالعربية
دالة مرحبا(اسم) {
    اطبع("مرحباً يا " + اسم);
}

// يُترجم إلى:
function hello(name) {
    console.log("مرحباً يا " + name);
}

التحديات

أكبر تحدٍ كان التعامل مع النص ثنائي الاتجاه (BiDi). العربية تُكتب من اليمين لليسار، لكن بنية الكود بطبيعتها من اليسار لليمين (الأقواس، العمليات، إلخ). إيجاد التوازن الصحيح كان صعباً.

الأثر

بينما Arabi.js أداة تعليمية بشكل أساسي، إلا أنها تُظهر مبدأً مهماً: البرمجة يجب أن تكون متاحة للجميع، بغض النظر عن لغتهم الأم.

تلقى المشروع ردود فعل إيجابية من مجتمع المطورين العرب وأثار نقاشات مثيرة حول توطين لغات البرمجة.