قبل المضي قدماً، لنتأكد من أن لدينا كل مستلزمات دعم اللغة العربية. و سيتم إفتراض خلال هذا الدليل أن هذه المتطلبات موجودة لديك، و أنك قرأت و أتبعت الخطوات الواردة فيما يلي.
لن نتكلم هنا عن تفاصيل بناء النواة، إذ أن هذا الموضوع ليس من نطاق هذا الدليل. هنا يجب عليك التأكد من أن النواة المبنية لديك تحتوي على الخيارات التالية (تأكد من الوثائق المرفقة بإصدارتك) أو قم ببناء النواة بنفسك.
# 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 |
ملاحظة: هذا القسم غير كامل و من الممكن أن يحتوي بعض الأخطاء. الرجاء عدم إستعماله حاليا.
هناك عدد من متغييرات الخاصة بالنظام التي يجب تحديدها و تعريفها لضمان عمل عدد من البرامج مع اللغة العربية كما هو مطلوب.
$ 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] |
هناك ثلاثة عوامل أساسية في دعم اللغة العربية في أي برنامج:
دعم ثنائية الإتجاه: و يقصد فيها توفير الإمكانية لإظهار النص بكلا الإتجاهين (من اليسار لليمين) و (من اليمين لليسار) عند الدمج لغة من اليمين إلى اليسار (مثل العربية) و لغة أخرى من اليسار إلى اليمين (مثل الإنجليزية).
دعم توصيل الأحرف: و يقصد فيها توفير إمكانية رسم الأحرف العربية و توصيلها و إظهار الحرف بناء على موقعه داخل الكلمة.
دعم يونيكود UTF-8: أي دعم التشفير UTF-8 المعرف من قبل جمعية يونيكود.
http://fribidi.sourceforge.net/
يمكن إعتبار FriBiDi أهم ما يجب أن يكون موجود لديك. إذ أن هذه المكتبة تدعم إعادة ترتيب الأحرف بالإتجاهين توافقا مع تعريف يونيكود TR#9. برامج مثل mlterm و Pango إما تستعمل هذه المكتبة أو تستعمل جزء منها.
للأسف، لا يوفر fribidi حتى الآن إمكانية رسم و توصيل الأحرف كجزء من إمكانيات هذه المكتبة.
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 بكامل فعاليته بحيث يظهر النص العربي بعرض شاشة صحيح.
على الرغم من أن إمكانية العمل مع الأسماء العربية موجودة، إلا أنه لا ينصح بالأسماء العربية للملفات. وذلك لأن معظم البرامج لا تمتلك المقدرة على التعامل مع الأسماء العربية للملفات
لتمكين مدير الملفات من قراءة الأسماء العربية للملفات بشكل صحيح، عليك أن تحدد المحارف المستعملة. هناك متغيران عليك تعريف النظام بهما. و هذا يتم عن طريق إضافة تعريفهما إلى الملف ~/.profile أو الملف ~/.bash_profile
$ export G_BROKEN_FILENAMES=1 [2] |
حتى الآن، عند كتابة هذه الوثيقة، لا يمكن تسمية الملفات بالعربية إلا عن طريق برنامج أو بإستخدام مدير ملفات في الواجهة الرسومية. إستخدام سطر الأوامر غير ممكن رغم أن برامج سطر الأوامر مثل bash تدعم UTF-8، إلا أنها لا تدعم الإدخال بالغة العربية في سطر الأوامر.
لتتمكن من قراءة أسماء الملفات العربية من قسم يحتوي على ويندوز في القرص الصلب، عليك إخبار الأمر 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 |