Presentation is loading. Please wait.

Presentation is loading. Please wait.

تقنيات تعريب البرامج ريان الحميد عبدالله الحمود

Similar presentations


Presentation on theme: "تقنيات تعريب البرامج ريان الحميد عبدالله الحمود"— Presentation transcript:

1 تقنيات تعريب البرامج ريان الحميد 422002668 عبدالله الحمود 422005881
ريان الحميد عبدالله الحمود هشام البوعليان

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

3 التقنيات المستخدمة حاليا (في حال توفر الشفرة المصدرية)
لابد للمترجم من معرفة أصول وقواعد لغة البرمجة. عند صدور نسخة جديدة من البرنامج المعرب، يجب على المترجم أن يعاود الترجمة كلها من جديد. صعوبة المرور بجميع أجزاء البرنامج عند كونه ضخما ومعقدا.

4 التقنيات المستخدمة حاليا (في حال توفر الشفرة المصدرية)
أمثلة على تعريب بعض البرامج عند توفر الشفرة المصدرية

5 التقنيات المستخدمة حاليا (في حال توفر الشفرة المصدرية)
لغة Visual Basic .Net : Me.Label1.Location = New System.Drawing.Point(64, 72) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(168, 16) Me.Label1.TabIndex = 0 Me.Label1.Text = "Enter Text Here" Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ' 'TextBox1 Me.TextBox1.Location = New System.Drawing.Point(16, 96) Me.TextBox1.Name = "TextBox1" Me.TextBox1.Size = New System.Drawing.Size(264, 20) Me.TextBox1.TabIndex = 1 Me.TextBox1.Text = "" 'Button1 Me.Button1.Location = New System.Drawing.Point(120, 120) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(56, 24) Me.Button1.TabIndex = 2 Me.Button1.Text = "Enter“ …….

6 التقنيات المستخدمة حاليا (في حال توفر الشفرة المصدرية)

7 التقنيات المستخدمة حاليا (في حال توفر الشفرة المصدرية)
عند الرغبة في الترجمة على المترجم أن يبحث عن كل ما يظهر للمستخدم من رسائل وأسماء، فمثلا لتعريب زر عليه أن يبحث عن الجزء الذي يحوي النص المعروض ويعربه كما في السطر التالي : ….Text = "…." لعدم أهـمية المحاذاة في كل من بطاقة التعريف والأزرار ونظرا لكبر حجم مربع النص نسبيا مقارنة بالمكونات الأخرى فإن المحاذاة مهمة، ولذلك نزيد عليها السطر : ….RightToLeft = System.Windows.Forms.RightToLeft.Yes

8 التقنيات المستخدمة حاليا (في حال توفر الشفرة المصدرية)

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

10 برنامج Resource Hacker
برنامج مجاني من تصميم Angus Johnson لعرض تعديل إعادة تسمية حذف استخراج مكونات الملفات التنفيذية التي تعمل ضمن منصة العمل Windows. يعمل هذا البرنامج على الأنظمة التالية: Win95, Win98, WinME, WinNT,Win2000,WinXP

11 مميزات برنامج Resource Hacker
إمكانية تغير المؤشرات (Cursors) في البرنامج. إمكانية تغير الصور (Bitmaps) في البرنامج. إمكانية تغير الأيقونات (Icons) في البرنامج. إمكانية تغير لائحة القوائم Menus)) في البرنامج. إمكانية تغير صناديق الحوار ( Dialogs) في البرنامج. إمكانية تغير جميع النصوص (Strings) الموجودة في البرنامج. إمكانية التعديل الكامل في الواجهات وتغير مواقع بعض صناديق الحوار أو الأزرار وما شابهها.

12 برنامج Resource Hacker

13 برنامج Resource Hacker

14 برنامج Resource Hacker

15 عيوب برنامج Resource Hacker
عدم إمكانية التعديل في البرامج المكتوبة بواسطة بيئة العمل .Net يتطلب في حال إصدار نسخة جديدة من البرنامج المراد تعريبه أن يتم التعريب من نقطة الصفر.

16 برنامج Restorator ( ) يسمح بتحرير موارد البرامج التنفيذية وملفات الربط الديناميكي (dll) و ملفات الموارد (res, dcr, rc). يسمح بتحرير الصور المضمنة داخل الملف التنفيذي. يمتاز بأنه يقوم بإنشاء ملف (Patch). يقوم البرنامج بتقسيم الموارد الى مجموعات, ما يهمنا لتعريب واجهات البرامج هو: المجموعة (Menu) المجموعة (Dialog) المجموعة (ٍString)

17

18 التعريب بتوظيف تقنية XML
ترتكز هذه الفكرة على أن النصوص المستـخدمة في البرنامج تكون في ملفات خارجية. أسباب اختيار XML لتنسيق الملفات التنظيم. دعم العديد من لغات البرمجة لها. لمرونتها حيث أنها غير مرتبطة بمنصة عمل معينة ويمكن نقلها بين أكثر من منصة عمل و الاستفادة منها دون الحاجة للتعديل عليها.

19 شرح تقنية XML لغة XML هي لغة نصيه تعتمد على الوسوم (Tags) كبنية أساسية لها, يبدأ ملف XML بسطر التعريف (اختياري) التالي: <?xml version="1.0" ?> توجد عدة خصائص "Attributes" إضافية للوسم السابق منها الترميز المستخدم لكتابة النص "encoding" وفي حال لم يتم تعريف هذه الخاصية فإن الترميز الافتراضي هو Unicode .

20 شرح تقنية XML يقوم المطور بعمل الوسوم الخاصة به حسب حاجته ويقوم بتحديد الخصائص لكل tag إذا دعت الحاجة لذلك, مع مراعاة الشروط التالية: يبدأ الوسم بحرف لاتيني أو شرطة سفلية( _ ) ولا يمكن أن يبدأ برقم أو رمز. جميع الحروف عدا الحرف الأول يمكن أن تكون حرف أو رقم أو شرطة سفلية ( _ ) أو نقطة (.) . لا يسمح بوجود فراغات بين أحرف الوسم. لا يسمح للوسم بأن يبدأ بالكلمة XML سواء بأحرف كبيرة أو صغيرة. لا يسمح بوجود فراغ بين رمز بداية الوسم (<) والحرف الأول من الوسم.

21 مثال لملف XML <?xml version="1.0" standalone="yes"?>
<language> <Component> <name>button1</name> <text>Change Language</text> </ Component > < Component > <name>label1</name> <text>Welcome</text> <name>checkBox1</name> <text>True</text> </language>

22 مثال لملف XML يمكن تخيل الملف السابق بالشكل التالي

23 استخداماتها تستخدم لغة XML لوصف و تخزين البيانات بشكل منظم, ومن استخداماتها العملية المنتشرة أيضاً على سبيل المثال لا الحصر تطوير خدمات الويب مواقع الأخبار. المنتديات. التوثيق كتب التعليمات المرفقة مع البرامج. توثيق دفتر العناوين. النشر الاليكتروني الجداول الاليكترونية. العروض التقديمية.

24 مميزات لغة XML السهولة: في القراءة والتعامل.
كونه مفتوح الاستخدام: حيث لا يجب الحصول على رخصة لاستخدامه سواءً من المطورين أو المستخدمين. قابليتها للتوسع: حيث أنها تقنية مثالية لوصف دفتر عناوين وفي نفس الوقت مثالية لوصف بيانات مشاريع عملاقة. فصل المحتوى عن البرامج: بحيث يتم تحرير المحتوى وجعله على هيئه تسهل التعامل معه من أي برنامج أو نظام دون الحاجة للتعديل.

25 البرامج المساعدة: برنامج المعرب
برنامج التعريب: قراءة ملفات الـ XML وعرضها بشكل منظم. اعادة تسمية المكونات (Component2.text). اضافة مكونات جديدة. الكتابة إلى ملف XML آخر.

26 البرامج المساعدة: برنامج المعرب

27 البرامج المساعدة: برنامج المعرب

28 البرامج المساعدة: برنامج النصوص
برنامج النصوص: فتح ملف تنفيذي واستخراج النصوص إلى ملف XML. قراءة النصوص من ملف XML وكتابتها على الملف التنفيذي. ونظراً لضيق الوقت وضرورة البحث عن طرق فتح الملفات التنفيذية لم نستطع القيام ببرمجته ولكنه ممكن التنفيذ استنادناً على فكرة برنامج الـ Resource Hacker و غيرها...

29 البرامج المساعدة: برنامج النصوص

30 البرامج المساعدة: برنامج المقارنة
برنامج المقارنة: ترتكز فكرة هذا البرنامج على المقارنة بين ملفين –س1 معرب، س2 غير معرب ومطور ( يحوي على نصوص جديدة ) – يقوم البرنامج بالمقارنة وإخراج ملف جديد س3 يحوي نصوص الملف س1 مضافاً إليها نصوص الملف س2 الجديدة.

31 البرامج المساعدة: برنامج المقارنة

32 توظيف تقنية XML بتعاون المبرمجين
إضافة الفئة ( Class ) المصممة مسبقاً إلى برنامج المبرمج والذي يسهل البحث داخل ملف الـXML وجلب النص المطلوب. إسناد جميع نصوص المكونات إلى الفئة التي تقوم بجلب النص من ملف الـ XML.

33 ملف الـ XML المستخدم <? xml version="1.0" ?> <language>
<Component> <name>Component1.name</name> <text>Component1.text</name> </Component> <name>Component2.name</name> <text>Component2.text</name> <name>Component3.name</name> <text>Component3.text</name> </language>

34 public class Loc { public string GetString(string ItemName, string XmlFileName) XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(XmlFileName.ToString()); XmlNodeList XmlNod = xmlDoc.GetElementsByTagName("Component"); for(int i=0;i<XmlNod.Count;i++) if(XmlNod[i].FirstChild.InnerText.ToString()== ItemName.ToString()) return XmlNod[i].LastChild.InnerText.ToString(); } return null;

35 private void lang(string Path)
{ //Create an Object of the Class Loc Loc lan = new Loc(); //Bring Every Component's text form XML File //which lan.GetString will return the string. button1.Text = lan.GetString("button1",Path); label1.Text = lan.GetString("label1",Path); checkBox1.Text = lan.GetString("checkBox1",Path); menuItem1.Text = lan.GetString("menuItem1",Path); }

36 في حال إصدار نسخه جديدة من البرنامج

37 بدون تعاون المبرمج

38 في حال إصدار نسخه جديدة من البرنامج

39 مثال تطبيقي

40 الخاتمة تعريب البرامج ليس بالمهمة المستحيلة أو الصعوبة البالغة, ولكن تعتريه بعض السلبيات كما سبق ذكره وأهـمها هو الحاجة لإعادة عملية التعريب في حال صدر إصدار جديد من البرنامج وهو ما يضيع الوقت والجهد. بحمد الله تمكنا من إيجاد تقنية فعالة لإضافة ميزة تعدد اللغات لأي برنامج, كما و قمنا بتقديم البرامج المساعدة لهذه العملية.


Download ppt "تقنيات تعريب البرامج ريان الحميد عبدالله الحمود"

Similar presentations


Ads by Google