سلسلة شروحات innoSetup الدرس السادس : صناعة ملف التثبيت عن طريق الأكواد قسم [Languages]

ناصر بعزيز

Administrator
طاقم الإدارة
إنضم
7 أغسطس 2018
المشاركات
646
مستوى التفاعل
666
النقاط
93
الإقامة
الجزائر
الموقع الالكتروني
mx-blind.com
الجنس
ذكر
نظام التشغيل
Windows10
قارئ الشاشة المستخدم
jaws
بسم الله الرحمان الرحيم, والصلاة والسلام على أشرف الخلق والمرسلين
أما بعد فأيها الأحباب أهلا وسهلا بكم في الدرس السادس من دورة تعلم برنامج InnoSetup
بعد أن إنتهينا في الدرس السابق من قسم [setup]
دعونا اليوم نبدأ في قسم جديد
ألا وهو قسم اللغات
[Languages]
حيث يتيح لك هذا القسم اختيار اللغات التي تكون موجودة في الملف المجمع الخاص بتثبيت برنامجك.
حيث برنامج innoSetup يتيح لنا إتاحة أكثر من لغة لواجهة التثبيت وللمستخدم الحق في استخدام اللغة التي يريدها
طبعا هو بشكل إفتراضي لا يحتوي على اللغة العربية
ولاكن قمت بترجمة المفردات إلى اللغة العربية وإرسالها إلى المطورين
وقامو بوضعها في الموقع حيث يمكنكم تحميلها من خلال الرابط التالي :
إضغط هنا لتحميل ملف اللغة العربية
ثم قم بنسخ الملف المحمل والذي إسمه arabic.isl
إلى المسار التالي
نظام x64
كود:
"C:\Program Files (x86)\Inno Setup 6\Languages"
نظام 32 x86
كود:
"C:\Program Files\Inno Setup 6\Languages"
هذا لا يوجد له علاقة بدرسنا اليوم ولاكن أحببت أن أعيد ما وضعته في الدرس الأول وهو طريقة إضافة اللغة العربية.
الآن هي بنا نأخذ نظرة بسيطة عن شكل قسم اللغة لكي نبدأ بشرحه

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "arabic"; MessagesFile: "compiler:Languages\arabic.isl"


لو لاحظتم هذا القسم يختلف عن ما رأيناه في القسم السابق, لاكن كل الأقسام الأخرى ستكون على هذا الشكل الجديد, القسم الأول فقط مختلف.
دعونا نلاحظ طريقة الإعلان عن اللغة في القسم
أولا عندنا عبارة
[Languages]
واللتي تفيد الإعلان عن بدء القسم
نبدأ الآن مع إعلان أول لغة وهي الإنجليزية
وهي كالتالي
Name: "english"; MessagesFile: "compiler:Default.isl"
أولتها عندنا
Name
وهو الذي يفيد بالإعلان عن إسم اللغة, وإسم اللغة يكون داخل الملف الخاص باللغة نفسها
وللإعلان عن الإسم يكن كالتالي
Name: "english"
أي
name
ثم نقطتين فوقيتين
ثم مسافة وإسم اللغة بين تنصيصين

وهنا نلاحظ الفاصلة المنقوطة (;)
وهي تستخدم للفصل بين عنصر وعنصر
ثم لدينا في نفس السطر العبارة التالية
MessagesFile: "compiler:Default.isl"
والتي نستخدمها للإعلان عن مسار ملف اللغة
حيث هنا نجدها نفس شكل العنصر الأول
أي :
MessagesFile
ثم نقطتين فوقيتين
ثم مسار الملف بين علامات التنصيص
ولا توجد فاصلة منقوطة, لأن لا يوجد شيء بعد إسم الملف
لو لاحظت هنا عزيزي مسار الملف مكتوب بشكل مختلف أي
"compiler:Default.isl"
حيث نجد عبارة
compiler
وثم نقطتين بعدها إسم الملف
هذا عزيزي يدل على أن عبارة compiler: تستبدل هنا مسار تثبيت البرنامج
حيث البرنامج يتعرف عليها تلقائية
أما عبارة
Default.isl
فهي إسم ملف الإنجليزية
بما أنه اللغة الإفتراضية فإسمه default
بينما لو لاحظنا ملف اللغة العربية فسنجده كالتالي
Name: "arabic"; MessagesFile: "compiler:Languages\arabic.isl"
نفس الطريقة لاكن في الجزء الثاني هناك إختلاف
لاحظ هنا
MessagesFile: "compiler:Languages\arabic.isl"
وهنا
MessagesFile: "compiler:Default.isl"
كلاهما يحملان عبارة
compiler:
لاكن ملف اللغة الإنجليزية مباشرة بعد العبارة أما العربية واللغات الأخرى فهناك شيء جديد وهو
"compiler:Languages\arabic.isl"
عبارة Languages\
حيث تفسير ذالك هو كالتالي
ملف الإنجليزية مباشرة بجنب ملفات innoSetup الرئيسية
أما اللغات الأخرى فهي داخل مجلد languages
لذا جاءت عبارة
Languages\
لكي نوجه المعالج إلى داخل المجلد.
أتمنا أن يكن هذا واضح.
أما لو كنت مثلي تحب التخصيص وتحب وضع لمستك في ترجمة معالجك فبإمكانك بكل سهولة ويسر
أخذ الملفات الخاصة باللغة التي تحب تخصيصها وتعديله ووضعه في أي مكان
ثم تستبدل
MessagesFile: "compiler:Default.isl"
بمسار ملفك وليكن مثلا
MessagesFile: "c:\my languages\arabic.isl"
ملاحظة لو أعطيته مسار غير موجود فلن يتم دمج البرنامج وسيعطيك رسالة خطأ لذا كن حذر في التخصيص

طبعا ليس هذا فقط عزيزي
هناك خانات أخرى سنتعرف عليها هنا
إفتراضيا هذا هو المهم
لاكن لنفترظ أخي أنت مصمم برنامج متعدد اللغات
وفيه إتفاقية ترخيص
وأنت قمت بترجمة إتفاقية الترخيص إلى العديد من اللغات حسب لغات البرنامج
فكيف هنا ستفعل يا ترى لإظهار إتفاقية الترخيص الخاصة باللغة المختارى؟
الحل في خانة
LicenseFile
حيث ما عليك عزيزي إلا أن تضع فاصلة منقوطة بعد مسار الملف مثل ما هي بين إسم الملف الخاص باللغة ومساره ثم تكتب مسافة وبعد ذالك
LicenseFile ثم نقطتين ومسافة ثم مسار الملف الإتفاقية بين علامات تنصيص
LicenseFile: "license-arabic.txt"
هذا مثال على ملف إسمه license-arabic.txt
ومساره نفس مسار السكربت الخاص بي
أنت بإمكانك اختيار المسار الذي تريده.
لقد إنتهينا من هذه الخطوة فدعونا نجمعها مع المثال
Name: "arabic"; MessagesFile: "compiler:Languages\arabic.isl"; LicenseFile: "license-arabic.txt"
طيب أخي أختي
كنا قد درسنا في قسم setup أن عبارة
InfoBeforeFile
تساعدنا في إظهار ملف معلومات قبل التثبيت للمستخدم.
لنفترض كذالك عزيزي أن ملف المعلومات كذالك مترجم لحسب لغات البرنامج, فنستخدم نفس الفكرة أي
InfoBeforeFile
ثم نقطتين فوقيتين ثم مسار الملف بين علامات التنصيص
ونضع فاصلة منقوطة بين هذا والقسم الذي قبله ليصبح مثلا
InfoBeforeFile: "arabic-info-before.txt"
ليصبح الكود بالكامل
Name: "arabic"; MessagesFile: "compiler:Languages\arabic.isl"; LicenseFile: "license-arabic.txt"; InfoBeforeFile: "arabic-info-before.txt"
وقد إنتهينا من هذا كذالك
دعونا نرى هل تبقى شيء؟
hmm, تبقى نعم نعم.
تحدثنا عن ملف المعلومات قبل التثبيت, لاكن ماذا عن معلومات مابعد التثبيت يا ترى؟
نعم عزيزي باستخدام عبارة
InfoAfterFile
يمكننا حل المشكلة
وبدون تكرار لنرى المثال مباشرة, لأن شأنها شأن التي سبقتها
InfoAfterFile: "arabic-info-after.txt"
وها هو الكود مركب

Name: "arabic"; MessagesFile: "compiler:Languages\arabic.isl"; LicenseFile: "license-arabic.txt"; InfoBeforeFile: "arabic-info-before.txt"; InfoAfterFile: "arabic-info-after.txt"
هذه هي كل العناصر التي توجد في هذا القسم
ملاحظات مهمة :
  • لا يهم ترتيب الأكواد الثلاث الأخيرة, ما يستوجب ترتيبه هو الخيارات الأولى, وهي إسم الملف ومساره
  • لا يستوجب إستخدام جميع الخنوات, بإمكانك استخدام ما تريد, الخانتين الإجباريتين هما اسم الملف ومساره.
  • لا يهم عدد اللغات المضافة, المهم أن لا يكن المسار خاطء
  • لمن أراد إنشاء عبارة جديدة فبإمكانه تخصيص الملفات وإضافة العبارة, وإلا ينتظر الدرس التالي والذي سنشرح فيه قسم جديد وهو تخصيص اللغة من دون التعديل على أي ملف.
ختاما أتمنا أن يكن الدرس قصير وواضح, كما أتمنا أن تكونو قد إستفدتم منه ولو شيء بسيط.
وأنا لا أرجو منكم سوى الدعاء
كما أطلب منكم التجربة ومن واجهه أي خطأ فيعلق في الموضوع وأنا مستعد للمساعدة.
تحياتي للجميع
كان معكم أخوكم ناصر بعزيز
 
شرح رائع أخي العزيز ناصر حقيقةً إستفدتُ منه كثيرا
جعلهُ الله في ميزان حسناتك يوم القيامة
وجزاك الله خيرا على ملف اللغة العربية الجديد وعلى هذا الشرح الرائع
تقبل تحياتي.
 
جميل جدا أخي ناصر
دروس رائعة ومتميزة وليست غريبة عنك أخي
تحياتي لك
 
أحسن الله إليكم وبارك في جهودكم النيرة
 
عودة
أعلى