الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البرمجة العربية للبرامج [حصريا]

بدأه بركان. في 26 يناير 2013 · 3 رد · 1,262 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته،

 


من مدة قمت بدراسة لمكتبات النظام للتعرف على كيفية إظهار اللغة العربية في البرامج ومعرفة سبب ظهورها مشوهة في أنظمة غير داعمة للغة العربية ... الدراسة أنهيتها وإليكم أحد ثمراتها:

 

الشرح صالح للأنظمة 2000 فما فوق...

المعلومات المقدمة هي حصرية وغير مشروحة في الإنترنت أو مراجع ميكروسفت وأكشفها لكم اليوم بتاريخ 26-01-2013 وهذا الموقع كأول مكان لها ...

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

 

كل ما هو ضروري لإظهار اللغة العربية في البرامج موجود مسبقا وإفتراضيا على الأنظمة 2000 فما فوق.


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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\LanguagePack

 

إذا كان موجودا فبرامج unicode ستعمل بدون مشاكل في إظهار اللغة العربية ، أما برامج ascii فلن تظهر العربية إلا إذا تغيرت لغة النظام الإفتراضية إلى العربية.

أما إذا كان غير موجودا فكل من برامج unicode و ascii لن يظهرا بشكل جيد العربية.

 

يكفي إضافة مفتاح عشوائي وإعادة تشغيل الجهاز لكي تعمل برامج unicode إذن. هذا الأمر سيسبب تحميل مكتبة usp10 المتخصصة في رسم النصوص المعقدة كالعربية وهي تستعملها مكتبة gdi، هذه الأخيرة تأخذ الأمر من إستخذام دوال usp10 عن طريق نواة kernel  وهذا بدوره يقرر ذالك عند قراءته  للمسار السجل السابق ...

 

لكن هل يمكن أن نظهر اللغة العربية في برامج unicode بدون إعادة تشغيل للجهاز وبدون إظافة المفتاح؟

 

نعم يجب إجبار مكتبة gdi على إستخذام دوال usp10 في معالجة النصوص التي لاتفهمها، ويكفي إستدعاء هذه الدالة الموجودة في gdi

 

invoke GdiInitializeLanguagePack,0

 

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


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

 

invoke GdiInitializeLanguagePack,1

 

ماذا عن برامج ascii؟ هل يمكن إظهار اللغة العربية بدون تغيير اللغة الإفتراضية للبرامج؟ وبدون إعادة تشغيل للجهاز؟

 

نعم ... هل أنتم مهتمون فعلا لمعرفة ذالك؟

تم تعديل هذه المشاركة بواسطة بركان. في 26 يناير 2013 في 21:42

3 −1
#2

وعليكم السلام ورحمة الله وبركاته 

 

أشكرك على مقالك الطيب النافع بإذن الله 

 

واصل - جزاك الله خيرا 

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#3

السلام عليكم

 

بداية جيدة مع أنها مختصرة بعض الشيء :)

 

بالحديث عن العربية خطر ببالي سؤال و هو : كيف أجعل الــ Console يدعم العربية ؟

 

 

 

 

تحياتي.

#4
Sn@CkeR كتب:

السلام عليكم

 

بداية جيدة مع أنها مختصرة بعض الشيء :)

 

بالحديث عن العربية خطر ببالي سؤال و هو : كيف أجعل الــ Console يدعم العربية ؟

 

 

 

 

تحياتي.

ليس أنا بالتأكيد من كتب تلك المشاركة 

هنا 

واضف هذا لمعلوماتك 

هنا 

:D  :)

تم تعديل هذه المشاركة بواسطة MohamedIBrahim في 20 فبراير 2013 في 05:22

GoodBye

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…