3. متطلبات الإعداد

قبل المضي قدماً، لنتأكد من أن لدينا كل مستلزمات دعم اللغة العربية. و سيتم إفتراض خلال هذا الدليل أن هذه المتطلبات موجودة لديك، و أنك قرأت و أتبعت الخطوات الواردة فيما يلي.

3.1. إعداد النواة

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

# Parition Types
CONFIG_NLS=y
# Native Language Support
CONFIG_NLS_DEFAULT="UTF8"
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_UTF8=y
    

3.2. التعريفات المحلية Locale

ملاحظة: هذا القسم غير كامل و من الممكن أن يحتوي بعض الأخطاء. الرجاء عدم إستعماله حاليا.

هناك عدد من متغييرات الخاصة بالنظام التي يجب تحديدها و تعريفها لضمان عمل عدد من البرامج مع اللغة العربية كما هو مطلوب.

$ LC_CTYPE=ar_EG.UTF-8
$ CHARSET=ISO_8859-6
$ OUTPUT_CHARSET=UTF-8
$ LESSCHARSET='UTF-8'
$ LANG=ar_US
$ export LC_CTYPE CHARSET OUTPUT_CHARSET LESSCHARSET LANG
    

لاحظ أن بإستطاعتك تغييرالرمز 'US' ليصبح رمز البلد التي تقيم فيها. فمثلا لو كنت في مصر تستطيع جعل التعريف 'ar_EG' و ينطبق هذا على كل المتغيرات في الأعلى.

كما أن هناك عدد من متغيرات البيئة أو النظام مثل LANGUAGE و LC_ALL. المتغير LC_ALL يغيير كل المتغيرات التي تبدأ بالرمز LC. و تستطيع بكل بساطة تحديده ليكون 'UTF-8'.

$ export LC_ALL=ar_US.UTF-8
	[1]
    

3.3. تثبيت المكتبات

هناك ثلاثة عوامل أساسية في دعم اللغة العربية في أي برنامج:

  • دعم ثنائية الإتجاه: و يقصد فيها توفير الإمكانية لإظهار النص بكلا الإتجاهين (من اليسار لليمين) و (من اليمين لليسار) عند الدمج لغة من اليمين إلى اليسار (مثل العربية) و لغة أخرى من اليسار إلى اليمين (مثل الإنجليزية).

  • دعم توصيل الأحرف: و يقصد فيها توفير إمكانية رسم الأحرف العربية و توصيلها و إظهار الحرف بناء على موقعه داخل الكلمة.

  • دعم يونيكود UTF-8: أي دعم التشفير UTF-8 المعرف من قبل جمعية يونيكود.

3.3.1. تثبيت FriBiDi

http://fribidi.sourceforge.net/

يمكن إعتبار FriBiDi أهم ما يجب أن يكون موجود لديك. إذ أن هذه المكتبة تدعم إعادة ترتيب الأحرف بالإتجاهين توافقا مع تعريف يونيكود TR#9. برامج مثل mlterm و Pango إما تستعمل هذه المكتبة أو تستعمل جزء منها.

للأسف، لا يوفر fribidi حتى الآن إمكانية رسم و توصيل الأحرف كجزء من إمكانيات هذه المكتبة.

3.4. رقع 'less-378'

http://old.arabeyes.org/project.php?proj=patches

تم إرسال رقعة إلى كاتب برنامج less ليتم دمجها في الكود المصدري للبرنامج. في الوقت الحالي، هذه الرقعة ستصلح حجم السطر الذي يحتاجه السطر العربي في الطرفية(سطر الأوامر) .

نزل الرقعة من الموقع التالي: ht tp://old.arabeyes.org/download/external/less/less_composing.patch.tgz.

والملف المصدري لبرنامج less من هنا: http://www.greenwoodsoftware.com/less/less-378.tar.gz

$ tar zxvf less-378.tar.gz
$ cd less-378
$ tar zxvf less_composing.patch.tgz
$ patch -b -p0 < less_composing.patch
$ ./configure
$ make && make install
    

الآن سيكون برنامج less بكامل فعاليته بحيث يظهر النص العربي بعرض شاشة صحيح.

3.5. الأسماء العربية للملفات

على الرغم من أن إمكانية العمل مع الأسماء العربية موجودة، إلا أنه لا ينصح بالأسماء العربية للملفات. وذلك لأن معظم البرامج لا تمتلك المقدرة على التعامل مع الأسماء العربية للملفات

3.5.1. قراءة الأسماء العربية للملفات

لتمكين مدير الملفات من قراءة الأسماء العربية للملفات بشكل صحيح، عليك أن تحدد المحارف المستعملة. هناك متغيران عليك تعريف النظام بهما. و هذا يتم عن طريق إضافة تعريفهما إلى الملف ~/.profile أو الملف ~/.bash_profile

$ export G_BROKEN_FILENAMES=1 
	[2]
      

3.5.2. كتابة أسماء الملفات العربية

حتى الآن، عند كتابة هذه الوثيقة، لا يمكن تسمية الملفات بالعربية إلا عن طريق برنامج أو بإستخدام مدير ملفات في الواجهة الرسومية. إستخدام سطر الأوامر غير ممكن رغم أن برامج سطر الأوامر مثل bash تدعم UTF-8، إلا أنها لا تدعم الإدخال بالغة العربية في سطر الأوامر.

3.5.3. تثبيت أقسام ويندوز

لتتمكن من قراءة أسماء الملفات العربية من قسم يحتوي على ويندوز في القرص الصلب، عليك إخبار الأمر mount ما هو التشفير الذي تريد إستخدامه. و هذا يتم عن طريق (إذا أفترضنا أن قسم الويندوز يقع في /dev/hda3):

 
# mount -t auto /dev/hda3 /mnt/win/ -oiocharset=utf8 

	[3]
      

و بإمكانك جعل هذا الخيار دائم عن طريق إضافة هذا الخيار إلى الملف /etc/fstab.

/dev/hda3  /mnt/win vfat  defaults,iocharset=utf8  0 0
      


[1] لا ينصح بهذا، قد يكون له تأثيرات غير متوقعة على عدد من البرامج.

[2] تفترض مكتبات النظام Glib أن أسماء ملفات النظام تخضع للتشفير المعرف في locale بدل من إستعمال UTF-8

[3] لاحظ أنه عند إستعمال الخيار 'oiocharset' قد يؤدي لعدد من التغيرات. إستعمل هذا الأمر على مسؤوليتك!