3.6 دعم اللغة العربية | كتاب لينكس الشامل | >> |
يعتبر إضافة دعم اللغة العربية موضوعا شائكاً ؛ لأنه أول ما يحاول المستخدم القيام به حتى قبل أن يعرف كيف يصل إلى القرص المرن، لهذا قمت بتأجيل الموضوع إلى هذا الموضع. لاتفزع من تعقيد الموضوع لقد أحببت أن أذكر كل الطرق (السهلة والصعبة) وكل ما عليك هو اختيار احداها وتنفيذه فإذا نجح لاداعِ للمتابعة لأن التوزيعة قد تكون قامت بجزء من العمل عنك
هناك أكثر من عامل في دعم اللغة
إذا كنت تستخدم ماندريك فأسهل طريقة أن تذهب إلى مركز تحكم ماندريك
(قد يكو اسمه Configure Your Computer)
Mandrake Control Center -> Hardware -> Keyboard
وتختار لوحة مفايح عربية وتحدد زر معين للتبديل بين اللغتين
إذا كان لديك توزيعة أخرى أو كنت تريد القيام بذلك يدوياً
يوجد طريقتان لعمل ذلك الأولى أن تطلب لوحة مفاتيح عربية
من مدير النوافذ(بيئة سطح المكتب) مثل
kde أو gnome كل على حدى.
في kde
kde control center -> prephrals -> keyboard -> enable
ثم ضع صح على العربية.
في gnome انقر بالزر الأيمن على اللوحة(شريط المهام) قرب الساعة(المكان الذي سنضعها فيه)
ثم ابحث على لوحة مفاتيح عالمية
right click the panle -> add applet -> util -> international keyboard
ستظهر أداة تمكنك من تغيير اللغة ،الآن انقر بالزر الأيمن عليها اختر
configure أو preferences
ثم أضف اللغة العربية إلى القائمة وتستطيع تحديد مفتاح التبديل هناك أيضا
أو إعطائها حجم أصغر أو كتابة الاسم دون العلم مثلاً وفي في بعض الإصدارات
يوجد خيارات لغة مختلفة لكل نافذة group for each window تأكد من عدم اختياره
ويوجد خيار لتحديد زر سريع للتبديل مثل ALT+SHIFT وضوء عند اختيار العربية
في بعض الإصدارات تكون مثل تلك الخاصة بإكس مثل
grp:alt_shift_toggle
(سنكتب توضيحات).
الطريقة الثانية هي إضافتها مباشرة في X (البعض لا يحب هذه الطريقة لكنها المفضلة لدي)
ذلك بتحرير ملف إعدادات إكس /etc/X11/XF86Config-4
أو /etc/X11/XF86Config
أو /etc/X11/xorg.conf
سأفترض أنه الأول
كما يلي: (إذا لم يكن لديك mcedit استعمل kedit أو أي محرر نصوص)
# إطبع هذه الأوامر bash$ su root password: ******* bash$ cd /etc/X11 bash$ cp XF86Config-4 XF86C-old # حفظ نسخة من الإعدادات bash$ mcedit XF86Config-4 # تستطيع إستخدام أي محرر نصوص آخر لديك مثل gedit,kate,kwrite # الآن ابحث (اضغط F7 ) عن InputDevice # عدله ليبدو ... Section "InputDevice" Identifier "Keyboard1" Driver "Keyboard" #Option "XkbDisable" # تأكد من أن هذا السطر غير موجود أو بلاقيمة # الأسطر الثلاثة القادمة تحتاج إلى واحد منها فقط Option "XkbModel" "microsoft" #Option "XkbModel" "pc105" #Option "XkbModel" "pc104" Option "XkbLayout" "en,ar" Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll" End Section ... # خزن واخرج (F2->F10)
الآن أعد تشغيل X وذلك بالضغط على CTRL+ALT+BKSP(أي back space). إذا لم يعجبك شيء اختر نوع مختلف مثلا pc105 بدلاً من microsoft، أما إذا كنت تريد لسبب ما العودة للإعدادات السابقة (قمت بخطأ في الطباعة أو أي شيء آخر) فقط قمنا بحفظ نسخة منها وهذه طريقة استعادتها
# إطبع هذه الأوامر bash$ su root password: ******* bash# cd /etc/X11 bash# cp XF86C-old XF86Config-4 # اضغط CTRL+ALT+BKSP
في الطريقة الأخيرة اضغط ALT+SHIFT اليمين للتحول إلى العربية واضغطهم مرة أخرى للإنجليزية
بعد إضافة لوحة المفاتيح العربية يمكنك التبديل إلى اللغة العربية ولكن عندما تكتب ستظهر مربعات أو رموز غريبة وهذا ما سنصلحه عند الخطوط
هناك نوعان من الخطوط
خطوط صورة أو ما يسمى خارطة نقطية (bitmap-fonts) مثل pcf
وخطوط وصفية(التمثيل المتجهي) مثل ttf
الأولى أسرع ولكن تظهر على شكل مربعات وليس منحنيات عند تكبيرها
والثانية مهمة من أجل الطباعة ولا تتأثر بالتكبير.
يمكنك تنزيل خطوط عربية من النوع الأول اسمها خطوط عرب-آيز ثابتة العرض
ae_fonts_mono
أو
www.arabeyes.org/download/3rd/10x21.pcf.gz
أما النوع الثاني يمكنك الحصول عليها من دليل الخطوط في ويندوز
(لا أحب هذا الخيار ولكن الجزء الإنجليزي منها جميل)
قد تكون في المجلد
/mnt/win_c/windows/Fonts
أو /mnt/win_c/winnt/Fonts
أهم هذه الخطوط
tahoma.ttf
و arialuni.ttf
و cour.ttf
يمكن تركيبها من مركز تحكم ماندريك
Mandrake Control Center -> System -> Fonts -> get windows fonts
وفي ديبيان باستعمال الحزمة msttcorefonts (تتطلب انترنت)
أو بالطرق التي نشرحها لاحقاً ،
وهناك أيضا خطوط حرة من هذا النوع
يمكنك الحصول عليها وهي أكثر من طقم
مثلا خطوط مجموعة لينكس السعودية
KacstArabicFonts
و خطوط عرب-آيز ttf
ae_fonts و خطوط حيدر
haydar_fonts وخط اللطيف
lateef.shaikh_fonts وخط شريف
sharif.univ_ttf
ولكن عليك أن تقوم بتركيبها بأحد الطرق التي سأذكرها أدناه
فإذا كنت لا تحب الخوض في تفاصيلها
تريد فقط تركيب الخطوط ربما تفضل الخطوط على شكل حزم جاهزة(أنا لا أحب هذا الخيار)
نزل بعض هذه الحزم : خطوط عرب آيز ثابتة العرض
ae_fonts_mono-1.0-1.noarch.rpm وخطوط مجموعة لينكس السعودية
kacst_fonts-1.4-1.noarch.rpm وخطوط حيدر
haydar_fonts-1.0-1.noarch.rpm وخط لطيف
lateef.shaikh_fonts-1.0-1.noarch.rpm
وهي عبارة عن حزم rpm تركّبها كما تفعل من الحزم العادية
كما ذكرا في درس
تركيب الحزم
تأتي توزيعة ماندريك 9.1 مع خطوط مجموعة لينكس السعودية
وربما تحتوي الإصدارات القادمة على خطوط عرب-آيز
بعد الحصول على الخطوط (على صيغة tarball وليس حزم rpm )
قد يكفي في بعض التوزيعات أن تضعها في مجلد ~/.fonts
في بيتك بعد فك ضغط الملف ولكن بشكل عام(في كل التوزيعات)
يتم تركيبها بالخطوات التالية
وضع الخطوط في دليل مناسب.
ثم عمل ملف يحتوي معلومات تصنيفية عن كل الخطوط في ذلك الدليل (أو تحديثه إن كان موجودا).
ثم عمل (أو تحديث)ملف يحتوي على معلومات عن أحجام الخطوط في ذلك الدليل(لخطوط ttf فقط) .
ثم إضافة ذلك الدليل إلى قائمة أدلة الخطوط (إن لم يكن موجدا بها).
وهناك عدة طرق للقيام بذلك منها:
أسهل تلك الطرق استخدام مركز التحكم في توزيعة ماندريك (فقط لخطوط ttf) كما يلي
ضع الخطوط في مكان مؤقت ثم شغل مركز التحكم و
Mandrake Control Center -> System -> Fonts -> advanced -> add
ثم اختيار الخطوط التي تريدها بالنقر المزدوج عليها
ثم اختيار install list ثم OK
سيقوم هو بعمل الخطوات اللازمة التي تحدثنا عنها
وعند الإنتهاء يمكنك شطب الخطوط من هذا المكان المؤقت.
ويمكنك أيضا استخدام أداة تأتي مع KDE كما يلي
KDE Control Center -> System -> Fonts Installer
ثم النقر على adminstrator mode وادخال كلمة الجذر
أو بطباعة الأمر التالي وأنت جذر
kcmshell kcmfontinst
وفي الحالتين النقر على مجلد الخطوط (هناك مجلد خاص ب openoffice) مثلاً TTF ثم اختيار add
وبالنسبة للخطوط من نوع pcf انقر على مجلد misc
ولا تحاول الضغط على + لرؤية الخطوط الموجودة هناك
لأنها عدة آلاف !!
ولكن هذا الخيار لا يأتي مع كل التوزيعات(يأتي مع الحديثة فقط) وأظن أن
أداة مركز ماندريك أفضل بالنسبة لخطوط TTF.
برنامج تركيب الخطوط من KDE يمكنه تركيب خطوط من أنواع غير ttf
لإضافة الخطوط من نوع غير ttf مثل pcf مباشرة في إكس يدوياً اكتب الأوامر التالية:
bash$ tar -xvzf arb-pcf-fonts.tgz bash$ cd folder-name # اسم الدليل الذي يحتوي pcf bash$ su password: ******* bash# ls /usr/X11R6/lib/fonts/misc bash# cp -vi * /usr/X11R6/lib/fonts/misc bash# cd /usr/X11R6/lib/fonts/misc bash# mkfontdir # أعد تشغيل إكس CTRL+ALT+BKSP # أو bash# xset fp rehash
-misc-fixed-medium-r-normal--20-200-75-75-c-100-arabeyes-1
/usr/X11R6/lib/fonts/misc
لتعمل هذه الطريقة يجب أن يكون هذا الديل موجوداً
في ملف إعدادات إكس /etc/X11/XF86Config-4
تحت بند FontPath
.
لتتأكد أنه قد تم تركيبه استعمل xlsfonts التي تسرد كل الخطوط. مثلاً، اكتب
bash$ xlsfonts | grep arabeyes
لعمل ذلك مع خطوط ttf ، تأكد أن إصدار XFree86 لديك أكبر من 3.3.6
لأن هذا الأخير لا يدعم هذا النوع مباشرة بل عن طريق خادم خارجي.
بعد الحصول على ملفات ttf من دليل خطوط ويندوز أو من مواقع الإنترنت
انسخها إلى دليل
/usr/X11R6/lib/fonts/TrueType
أو
/usr/X11R6/lib/fonts/TTF
أيهما موجود تحت بند FontPath
في ملف /etc/X11/XF86Config-4
أو افتح دليل آخر وأضفه تحت بند FontPath
الأوامر التالية تقوم بالنسخ وعملية توليد الملفات الوصفية
bash$ mkdir myttf # مكان مؤقت نضع فيه خطوط ttf bash$ cd myttf bash$ cp -vi /mnt/win_c/windows/Fonts/tahoma.ttf ./ bash$ cp -vi /mnt/win_c/windows/Fonts/cour.ttf ./ bash$ cp -vi /mnt/win_c/windows/Fonts/arialuni.ttf ./ # أيضاً ضع فيه كل خطوط ttf # التي تريد تركيبها بواسطة مدير الملفات bash$ su password: ******* bash# ls /usr/X11R6/lib/fonts/TrueType bash# cp -vi * /usr/X11R6/lib/fonts/TrueType bash# cd /usr/X11R6/lib/fonts/TrueType bash# ttmkfdir -o fonts.scale && mkfontdir bash# xset fp rehash
bash$ xlsfonts | grep tahoma
/usr/lib/ghostscript/fonts
أما TeX فهي /usr/lib/texmf/fonts
وهما يستعملان خطوط Type1 وهي خطوط متجهية تشبه ttf يمكن تحويل بينهما ب
ttf2pt1 أو ttf2type1.
أما الشاشة النصية /usr/share/consolefonts
قد لا تحتاج لتشغيل خادم خطوط إضافي، لكن الإصدارات القديمة بحاجة لواحد
منها، أحدها هو xfs يتم تشغيله بواسطة أحد نصوص الإقلاع تأكد من أنه يعمل ب
ps -waux | grep xfs
إذا لم يكن يعمل فعّل ذلك النص أو يمكنك كتابة
bash# xfs -droppriv -daemon
/etc/X11/XF86Config-4
FontPath "unix/:7100"
/etc/X11/fs/config
تحت بند 'catalogue'
الخادم الآخر هو xfstt
إذا كان يعمل انسخ الخطوط إلى
/usr/share/fonts/truetype/
ثم اكتب التالي لتجديد قائمته
bash# xfstt --sync bash# xfstt &
FontPath "unix/:7101"
ومن الطرق أيضا استخدام الأداة chkfontpath التي تأتي مع معظم التوزيعات الحديثة مثل ريدهات (على القرص الأول) وهي تستخدم لإعداد مكتبة fontconfig كل هذه الطرق للخطوط من نوع ttf (يمكن تنفيذ الخطوات الأولى من الواجهة الرسومية بنسخ ولصق الخطوط وفك ضغط الملف)
bash$ mkdir ~/fonts # نسخ الخطوط من دليل ويندوز إلى دليل مؤقت bash$ cp -vi /mnt/win_c/windows/fonts/*.ttf ./ # أو فك ضغط الخطوط المنزلة من الشبكة فيه bash$ tar -xvzf Free_arb_ttf.tgz bash$ su root password: ******* # إقرأ كيف تستخدم هذه الأداة bash# chkfontpath --help bash# man chkfontpath # إذا كان هناك خطأ ضع القرص الأول وتركّب الأداة كما يلي bash# rpm -Uvh /mnt/cdrom/RedHat/RPMS/chkfontpath*.rpm # خطوات تركيب الخطوط # أولا نفتح دليل جديداً bash# mkdir /usr/share/fonts/arabttf # نسخ الخطوط إلى ذلك الدليل # استبدل ~ahmad/fonts بالمكان المؤقت bash# cp -vi ~ahmad/fonts/* /usr/share/fonts/arabttf bash# cd /usr/share/fonts/arabttf bash# ls -lh # لتتأكد أن الخطوط هناك # ولعمل الملفان fonts.scale و fonts.dir bash# ttmkfdir -o fonts.scale && mkfontdir # لإضافة الدليل الحالي إلى القائمة bash# chkfontpath --add `pwd` bash# fc-cache `pwd` bash# exit # بعد التأكد من أن الخطوط تعمل اشطب الدليل المؤقت bash$ rm -R ~/fonts
انتبه `` ليست علامة اقتباس بل هي الموجدة تحت زر ~.
لاحظ أننا استعملنا الدليل /usr/share/fonts
يمكن أن يختلف عندك هذا المجلد ، لمعرفة المستخدم لديك
افتح ملف اعدادات fontconfig الذي هو
/etc/fonts/fonts.conf
حيث يوجد به سطر ما يشير إلى أن دليل الخطوط الرئيسي هو
/usr/share/fonts
واستخدمنا ahmad على أنه اسم الدخول لذا تكون ~ahmad
هي الدليل البيت الخاص بك استبدلها بما هو مناسب
من الضروري أن تحول خطوط ttf إلى pt1 وهي الخطوط التي
تستعلمها برامج عرض ps و pdf
نقوم بالتحويل باستعمال
ttf2pt1 -b fontname.ttf fontname
وبعد التحويل نفذ type1inst من المجلد الذي يحتوي هذه الخطوط
ثم أضف ملف Fontmap الناتج إلى نهاية
ملف /usr/share/gs/6.53/Fontmap.GS
وذلك بكتابة
bash# cat FontMap << /usr/share/gs/6.53/Fontmap.GS
لعرض خط معين يمكنك استخدام برنامج gucharmap الذي يعرض الخطوط ويسمح لك باختيار محرف معين (قد لا يكون له مفتاح لكتابته) ثم نسخه ولصقه في أي وثيقة. قد يكون مفيداً عند كتابة المعادلات أو عند التعامل مع الخطوط التي تحتوي رسومات وزخارف.
تركيب الخطوط لا يعني أن البرامج سوف تستخدمها اذا عليك الآن أن تخبر البرامج بأن تستخدم خطوط عربية بدل الخطوط القديمة
خطوط مجموعة لينكس السعودية (تبدأ ب Kacst )جميلة ولكنها عريضة إذا استخدمتها لشريط العنوان أو الأزرار تكون غير منطقية ولكنها أنيقة في برامج المكتب والأمور الفنية (المطبوعة) أما طقم خطوط عرب-آيز فهي مجموعة كبيرة من الخطوط الرائعة (تبدأ ب ae ) منها ما هو فني ومنها ما هو مناسب للشاشة
في kde اذهب إلى مركز التحكم الخاص به
(في ماندريك قد تجده في قائمة Configure ثم Configure Desktop) تحديداً
kde control center -> Look & Feel -> Fonts
يظهر لك صندوق حوار به عدد من الخطوط وحجمها
غيرها واحداً واحد (أو دفعة واحدة)
إلى خط يدعم العربي مثل KacstBook أو Tahoma أو Arial أو ae_AlHor أو ae_AlMateen
أو أي خط آخر ثم هناك خانة ل fixed size
هنا يجب أن تختار خط من نوع خاص مثل Fixed أو Courier
وهي الخطوط التي تكون كل الحروف فيها لها نفس العرض
عندما تغير الخط عد وتأكد من أن هذا الخط وضع كما تريد.
في gnome اذهب إلى القائمة
(في ماندريك قد تجده في قائمة Configure ثم Gnome)
gnome menu -> setting-> gnome control center -> Fonts
يظهر لك صندوق حوار به عدد من الخطوط وحجمها
غيرها واحداً واحد
وإنتبه لل fixed size
هنا يجب أن تختار خط من نوع خاص مثل Fixed أو Courier.
وأيضا إذا أردت المزيد افتح الملف
~/.gtkrc-2.0
وابحث عن سطر
gtk-font-name = "KacstLetter 10"
حيث KacstLetter هو اسم (أو الاسم المستعار) لخط يدعم العربية
يمكنك ابداله ب ae_AlHor مثلاً
أو دعه على اسم خط غير عربي مثل Sans ولكن أضف خط عربي ليكون بديل عنه(مستعار) كما سنرى ذلك لاحقا
استخدام خطوط عربية لتكون تلقائية ليس خياراً جيداً لأن الخطوط العربية تحتوي على شكل مزعج أو ممل للخطوط الإنجليزية أضف إلى ذلك أن خطوط مجموعة لينكس السعودية Kacst عريضة جدا وتجعل حجم الأزرار كبير بشكل غير منطقي في برامج KDE لا يوجد حل غير استعمال خطوط عرب-آيز ae أو خطوط مايكروسوفت (لأن الإنجليزي فيها مقبول) أما لبرامج غنوم (مثل موزيلا) تابع معنا الحل إلى الأسماء المستعارة ستتمكن من الجمع بين أي خط انجليزي وعربي
تحذير
حتى لو كنت لا تنوي استعمال KDE
ضع خطوط عربية افتراضية في مركز تحكم KDE
لأن برامج KDE مثل Kword تقرأ الخطوط من مركز تحكم KDE
وبالمثل لو كنت لا تنوي أن تستعمل غنوم
بالرغم من ذلك اذهب إلى مركز تحكمها وعرف الخطوط
الآن جرب أن تكتب بالعربي في خانة Run طبعا دون أن تنفذ، وأي مكان آخر عام مثل صندوق الحوار لإختيار خط وليس داخل برنامج بعينه لتختبر نجاح العملية إذ أن هناك برامج عنيدة
ومن الجدير بالذكر أن الخطوط في إكس لها اسم مكون من 14 مقطع يفصل بينها -(ناقص) وتبدأ به أيضا وهذه الصيغة العامة لاسم الخط
xfontsel -print
ويمكنك أيضا معرفة اسم اكس يقابل أي خط وأي ملف بقراءة ملف
fonts.dir (وربما يفيدك fonts.scale)من مجلد الخطوط التي عملناها سابقاً
كما ويمكن عرض الخط إذا علم اسمه في إكس بواسطة xfd
ويمكن تركيب الأمرين معاً xfd -fn $(xfontsel -print)
بحيث تختار خطاً ثم يعرضه لك.
/usr/local/etc/pango/pangox.aliases
أو
/etc/pango/pangox.aliases
حيث تحتوي ما يشير إلى اسم الخط وخواصه(عادي أو مائل أو ثخين) مثل
sans normal normal normal normal
ثم علامة اقتباس ثم اسم الخط بطريقة إكس
مثل -*-helvetica-medium-r-normal--*-*-*-*-*-*-*-*
ثم فاصلة ‘،‘ ثم اسم الخط
البديل (بطريقة إكس أيضاً) وهكذا ثم اقتباس ولأن السطر طويل عادة
نضع ‘\‘ ونتابع على السطر التالي
أضف خط بديل يدعم العربية (ضعه الثاني) مثل
-misc-fixed-medium-r-normal--*-*-*-*-*-*-iso10646-1
أو أي خط آخر
كلمة normal كما تعني ليس ثخين ولا مسطر ولا مائل ولا مشطوب
و iso10646
تعني UCS
أي Universal Character Set
وهي نفسها UNICODE
وكل تلك النجم لأننا لا نحدد حجم الخط.
لمعرفة اسم الخط بطريقة إكس
استعمل xfontsel أو اكتب
xlsfonts | grep -i FINDWHAT
حيث FINDWHAT هو الذي تبحث عنه (جزء من اسم الخط )
مثلاً xlsfonts | grep -i iso8859-6
أو xlsfonts | grep -i iso10646-1
xlsfonts | grep -i muthana
.
بعد أن تنهي ذلك أعد برامج GTK وغنوم لتستخدم هذا الخط (في مثالنا sans وليس الخط العربي)
وستظهر العربية والإنجليزية بالشكل المطلوب.
هذا مثال لتوضيح صيغة الملف فقط
# DO NOT COPY/PAST I DELETE MANY LINES THIS IS JUST # TO SHOW THE FORMAT # لا تنسخ من هذا الملف فهو فقط للتوضيح sans normal normal normal normal \ "-*-helvetica-medium-r-normal--*-*-*-*-*-*-*-*,\ -misc-fixed-medium-r-normal--*-*-*-*-*-*-iso10646-1,\ -*-gulim-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\ -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\ -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*" sans italic normal normal normal \ "-*-helvetica-medium-o-normal--*-*-*-*-*-*-*-*,\ #... sans normal normal bold normal \ #... sans italic normal bold normal \ #... serif normal normal normal normal \ #... monospace normal normal normal normal \ #... -misc-fixed-medium-r-normal--*-*-*-*-*-*-iso10646-1,\ #...
أكبر فائدة لهذا أنني أطلب من البرامج استعمال خط انجليزي جميل مثل Sans أو Sans serf و أحدد له بديل عربي مثل ae_AlHor من pango عندها كل برامج غنوم ستستخدم خط جميل انجليزي وخط آخر جميل للعربي والأزرار لن تكون بحجوم غير منطقية
مثل galeon أو mozilla أو konquorer عليك اختيار ترميز عربي مناسب ويفترض أن تتم العملية تلقائياً ولكن بعض مصممي المواقع ينسون اضافة الكود الخاص بذلك إلى مواقعهم (إذا حدث هذا ارسل لهم تحذير) على أي حال يكون الإختيار من قائمة عرض view ولكن أحياناً edit/settings أو settings/configure/prephrals/properties ثم encoding/charset تجربة الخيارات التالية unicode utf8 أو windows-cp1256 أو ISO-8859-6 وهي طرق ترميز اللغة العربية. إذا كنت تستعمل lynx وتريد تصفح الشبكة بالعربية نصياً عبر جهاز قديم يمكنك ذلك بعد تثبيت acon أو akka أو mlterm عند تنفيذ lynx اضغط O ثم اختر Display Charset لتكون تلك التي وضعتها في برنامج التعريب أو UTF8 ثم انتقل إلى بداية الصفحة واضغط enter على تخزين Save ثم إلى نهاية الصفحة واختر Accept إذا لم تحتوي الصفحة على ترميز تلقائي اضغط O ثم حدد الترميز الخاص بالصفحة Page charset.
تلميح
أسماء الملفات على أقسام ويندوز تعتبر موضوع آخر
ربما تظهر عندك الآن ؟؟؟؟؟؟؟؟
لهذا تابع معنا الحل
إذا كانت الملفات ذات الأسماء العربية إذا كانت تظهر على شكل رموز غريبة فهذه مسألة خطوط أما إذا كانت تظهر على شكل ؟؟؟؟؟؟ فسبب مشكلتك هو غباء نظام fat فهو يستخدم طريقة مختلفة لتخزين الأسماء لكل لغة بمعنى أن ملفاتك ذات الأسماء العربية لن تظهر بشكل صحيح حتى في ويندوز تركي أو روسي مثلاً. في لينكس تظهر ؟؟؟؟ أي أنك لم تخبره هذا تركي أم روسي أم عربي لذا يجب أن تخبر لينكس بأنها قدمت من ويندوز معرب. (هذه المشكلة تكون محلولة إذا اخترت اللغة العربية هي الأساس وليست لغة ثانوية) ويتم حل المشكلة كما يلي
bash$ man fstab bash$ su password: ******* bash# mcedit /etc/fstab # device mount_point type options ? ? /dev/hda7 / ext3 defaults 0 1 none /proc proc defaults 0 0 /dev/hda5 none swap defaults 0 0 # ليس مهما أن تكون نفسها # وإنما أن تكتب ما هو بالون الأزرق /dev/hda1 /mnt/win_c vfat umask=0,codepage=864,iocharset=utf8 0 0 /dev/fd0 /mnt/floppy auto noauto,users,codepage=864,iocharset=utf8 0 0 /dev/cdrom /mnt/cdrom auto noauto,users,codepage=864,iocharset=utf8 0 0 # لاحظ لا مسافات على طرفي المساواة أو الفاصلة # خزن ثم أخرج (F2,F10) # أضف سطران إلى نهاية /etc/profile وذلك بـ bash# echo "export CHARSET=ISO_8859-6" >> /etc/profile bash# echo "export G_BROKEN_FILENAMES=1" >> /etc/profile # أو بفتح الملف و إضافتها يدويا bash# mcedit /etc/profile ... export CHARSET=ISO_8859-6 export G_BROKEN_FILENAMES=1 # لاحظ لا مسافات على طرفي المساواة # خزن ثم أخرج (F7,F10) # ثم أعد تشغييل الجهاز
إذا كنت تستعمل برنامج GDM للدخول والخروج (التلقائي في ريدهات) فإنه
يمكنك الاعتماد عليه في تحديد الإعدادات المحلية بما فيها الترجمة إلى العربية
وذلك بالنقر على Languages ثم اختيار اللغة العربية من القائمة.
ولكن لا تجعله يجبر KDE على العربية لأن KDE يتم تغيير اللغة فيه من خلال مركز تحكمه.
إذا أردت إضافة لغات إلى قائمة GDM عدّل ملف /etc/X11/gdm/locale.alias
بإضافة سطر يحتوي اسم اللغة ثم رمزها مثل ar_JO.UTF-8
.
/etc/profile
لتحدد تلقائياً عند إقلاع الجهاز. المتغيّرات التي تتحكم باللغة وأمثلة
لما تأخذها من قيم كما يلي:
export LC_ALL=ar_JO export LANG=ar export LANGUAGE=ar_JO.UTF-8 export LANGUAGELIST='ar_JO:en_GB:en:C' export LOCALE=ar_JO export FALLBACKLOCALE=C export COUNTRY=JO export OUTPUT_CHARSET=UTF-8
أسماء الدول هي حسب معايير ISO-3166 وهي حرفين كبيرين مثلاً AR تعني Argentina و GB تعني United Kingdom.
/usr/share/locale/ar/LC_MESSAGES
اسم الملف هو اسم البرنامج مثلاً mcc مع الإمتداد .mo
غيّره ليصبح
off.FILE.mo
أو الأفضل من ذلك بكل بساطة تحويل اللغة بشكل مؤقت للإنجليزية بكتابة
LC_ALL=C
ثم مسافة ثم اسم البرنامج
أو env LC_ALL=C
ثم مسافة ثم اسم البرنامج
مثلاً LC_ALL=C mcc
(تم حل هذه المشكلة في الإصدارات بعد 9.0 من ماندريك)
.
وحتى تتم ترجمة بعض البرامج
يجب تركيب حزمة i18n (تلفظ internationalization) لها مثلا (kde-i18n-ar)
هذه الحزمة أصبحت جزء من حزمة KDE ولست بحاجة لتركيبها
ولكن على فرض أنك تستخدم اصدارات سابقة أو ما شابه
يكون عليك تنزيل ملف tgz أو tbz2 ثم كتابة الأوامر التالية
bash$ tar jxvf kde-i18n-ar.tar.bz2 bash$ cd kde-i18n-ar bash$ ./configure bash$ su bash# make install
KDE Control Center->Regional & Accessibilty->Country/Region & Language->Add Language
ثم اختر اللغة العربية ،
لاحظ أنك لست بحاجة إلى ذلك في غنوم
فملفات الترجمة جزء من حزمة غنوم أيضاً
اذا أردت أن تعرف ماذا تدعم توزيعتك بدائل ل ar.JO نفذ
locale -a
وللعربية فقط
locale -a | grep ar
فاذا حصلت على مشكلة بأن التوزيعة لاتدعم ar.JO مثلا رسالة تفيد التالي
عند التنفيذ من سطر الأوامر
ar.JO locale isn't recognized
يكون عليك أن تضيفها بنفسك
cd /usr/share/i18n/locales/ cp ar.SA ar.JO localedef -c -i ar.JO -f UTF-8 ar.JO أو localedef -c -i ar.JO -f UTF-8 /usr/share/locale/ar.JO localedef --add-to-archive /usr/share/locale/ar.JO
حيث ar.SA هي أقرب شيء موجود لديك عرفته عن طريق
locale -a
الكثير من البرامج العاملة في سطر الأوامر لا تتعامل بشكل جيد مع تركيب الحروف العربية مثل برنامج vim ولحل هذه المشكلة بشكل عام نستخدم برنامج mlterm بنفس طريقة استخدام برنامج gnome-terminal و xterm نزل حزمة rpm ل mlterm وحتي يعمل فأنت بحاجة إلى fibidi
bash$ su bash# rpm -Uvh mlterm*.rpm fibidi*.rpm bash# /usr/bin/mlterm-arabize
أما لتعريب سطر الأوامر حتى في الشاشة النصية
عليك ببرنامج acon الذي يأتي مع ماندريك بعد تركيبه
اذهب إلى مركز تحكم مركز التحكم ثم فعّل هذه الخدمة
Mandrake Control Center->Services
أو اكتب acon -s 1 2 3 4 &
الأرقام هي رقم الطرفية الافتراضية VT
(اضغط CTRL+ALT+O لتحديد نظام الترميز CP-1256 أو ISO-8859-6 التي يسميه البرنامج Translation)
وهناك برنامج أفضل منه من عرب-آيز اسمه عكا
أزل acon إذا كنت تستعمله ثم نزل
الملف المصدري لعكا
ثم نفذ
bash$ ./configure bash$ make bash$ su bash# cp keymaps/us-latin1.map /etc/console-tools/ bash# cp keymaps/arabic.kmap /usr/share/keymaps/ bash# mkdir /usr/share/fonts/akka && mkdir /usr/share/fonts/akka/glyph bash# cp fonts/* /usr/share/fonts/akka/ bash# cp glyph/* /usr/share/fonts/akka/glyph/ bash# cp conf/akka-conf.pl /usr/bin/ bash# cp src/Akka.pm /usr/lib/perl5/ bash# cp src/akka /usr/bin
akka &
ولتشغيل برامج الذي يتحكم به اكتب وأنت جذر
akka-conf.pl
وإليك مفاتيح عكا :
SHIST-F10
SHIST-F11
SHIST-F12
ليعرض برنامج less الملفات العربية بترميز UTF-8 بشكل صحيح (حتى في mlterm) يجب أن يكون مرقوع بنسخة معدلة لتعرف إذا كان less لديك مجهز مسبقا أم لا (غالبا لا) اكتب بالعربي وخزن في ملف داخل المجلد البيت سمه مثلاً readme.txt باستعمال أي محرر نصوص مثل katoob أو kedit أو gedit وتأكد من استعمال utf8 ثم افتح سطر الأوامر واكتب
bash$ export LESSCHARSET='UTF-8' bash$ less readme.txt
export LESSCHARSET='UTF-8'
إلى ملف /etc/profile
وإذا لم يظهر كما يجب نزل حزمة برنامج less المعربة (وهي صغيرة جدا) وتركّبها كالمعتاد
bash$ su bash# rpm -Uvh less*.rpm
في بعض الحالات كانت تظهر مربعات بدلاً من الكلام حتى مع النصوص
الإنجليزية ولوحظة هذه المشكلة عند تنزيل ماندريك 9.0 ليدخل تلقائياً
auto-login إلى إحدى الواجهات الرسومية دون المرور
ب kdm أو gdm وكانت تعود طبيعية بعد الخروج والدخول من خلال أحدهما ،
ربما يكون السبب في هذه الحالة أن الدخول التلقائي لم يشغل bash
بكلمات أخرى لم ينفذ /etc/profile
ويكون الحل في هذه الحالة بكتابة الأوامر التي أضفناها إليه وهي
export CHARSET=ISO_8859-6 export G_BROKEN_FILENAMES=1 export LC_ALL=ar.JO export LANG=ar export LANGUAGE=ar.JO.UTF-8 export OUTPUT_CHARSET=UTF-8
/etc/rc.d/
توفر معظم التوزيعات ملف باسم rc.local
إذا كان موجوداً تأكد من السماح بتنفيذه chmod +x rc.local
وأضف تلك الأسطر إليه
إذا لم يكن موجوداً فيمكنك إضافتها في بداية(بعد السطر الأول) من rc.sysinit
و أيضا في آخره . يجب أن تكون جذراً وأنت تفعل كل ذلك.
أخيراً شارك في ترجمة برامج لينكس أو عمل برامج جديدة على موقع www.arabeyes.org ليس بالضرورة أن تكون خبيرا
يمكنك معرفة المزيد من خلال وثائق عرب آيز مثلا arabic-howto-en
<< السابق | كتاب لينكس الشامل | التالي >> |