السلام عليكم و رحمة الله وبركاته، في هذا الدرس سنتعرف على كيفية جعل برنامجنا المبرمج بلغة #C يعمل بعدة لغات دون الحاجة الى انشاء برنامج لكل لغة.
أولا نحتاج لبرنامج كامل حتى نطبق عليه الدرس، سأختار برنامج التحويل بين العملات الذي أنشأناه في الدرس السابق، وهذا رابط الدرس هنا
الواجهة الرئيسية للبرنامج
من أجل جعل البرنامج متعدد اللغات نقوم بإضافة قائمة إلى برنامجنا و نضيف عنصرين إلى القائمة 'English' و 'العربية' كما بالصور أسفله
ثم نقوم باختيار اللغة العربية من Properties->Language كما بالصورة
بعد اختيار العربية يقوم visual studio بانشاء مجلد ترجمة يحتوي على الإعدادات أو التغييرات التي نقوم بها عند اختيار اللغة العربية و يتواجد بجانب برنامجنا في مجلد الخروج، لهذا سنقوم بترجمة جميع الكلمات في البرنامج إلى العربية و كذلك يمكننا أن نغير أماكن العناصر وغيرها من الخيارات حيث سيتم عرض هذه الاعدادات فقط عند اختيار العربية.
في هذه الحالة لن نغير أي شيء لأن البرنامج أصلا بالعربية.
الآن سنقوم بترجمة البرنامج إلى اللغة الإنجليزية و لعمل ذلك نتبع نفس الخطوات السابقة
-نقوم باختيار الإنجليزية من Properties
ثم نقوم بترجمة جميع الكلمات في البرنامج إلى الإنجليزية كما بالصورة التالية
الآن وصلنا إلى مرحلة إدخال الكود حتى نتمكن من تغيير لغة البرنامج من خلال قائمة اللغة
أولا نقوم بالضغط باليمين على مشروع برنامجنا في Solution explorer ونختار Properties ثم نقوم باختيار Settings ثم نقوم بإضافة متغير اسمه lang من أجل حفظ اللغة الحالية فيه و نعطيه قيمة ar لأننا نريد أن يشتغل البرنامج بالعربية في البداية.

ثانيا نذهب إلى كود البرنامج و نضيف الكود التالي قبل التعليمة [;()InitializeComponent] من أجل جعل البرنامج يشتغل باللغة المحدد في Settings عند بدأ تشغيل البرنامج.
. . . public Form1() { string lng = Properties.Settings.Default.lang; if (lng == "en") { System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); } else if (lng == "ar") { System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-MA"); System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("ar-MA"); } InitializeComponent(); } . . .
ثم نقوم بإدخال الكود التالي في أمر Click الخاص بعنصر English من القائمة
private void englishToolStripMenuItem_Click(object sender, EventArgs e) { Properties.Settings.Default.lang = "en"; Properties.Settings.Default.Save(); Application.Restart(); }
كذلك نقوم بإدخال الكود التالي في أمر Click الخاص بعنصر العربية من القائمة
private void العربيةToolStripMenuItem_Click(object sender, EventArgs e) { Properties.Settings.Default.lang = "ar"; Properties.Settings.Default.Save(); Application.Restart(); }
ثم نقوم بتشغيل البرنامج لنجد ان برنامجنا يترجم كليا عند اختيار لغة أخرى.
و هكذا ينتهي درس اليوم و إلى لقاء آخر بإذن الله و السلام عليكم و رحمة الله و بركاته.
Columbia Titanium Art - Tithronica - Titanium Arts
ReplyDeleteColumbia Titanium Art tube supplier is mens black titanium wedding bands a brand of dewalt titanium drill bit set titanium art. the silicone dab rig with titanium nail entire line of titanium bar stock art.