[COLOR="#FF0000"]بسم الله الرحمن الرحيم
((رب اشرح لي صدري ويسر لي امري واحلل عقدة من لساني يفقهوا قولي))
صدق الله العلي العظيم[/COLOR]
السلام عليكم ورحمة الله وبركاته
((رب اشرح لي صدري ويسر لي امري واحلل عقدة من لساني يفقهوا قولي))
صدق الله العلي العظيم[/COLOR]
السلام عليكم ورحمة الله وبركاته
[COLOR="#800080"]سنتعلم اليوم كيفية بناء تطبيق متعدد اللغات باستخدام لغة #C بخطوات بسيطة جدا لكنها متعبة اذا كانت لدينا تطبيق متعدد الواجهات وكثيرة الادوات ,ستعرفون ماذا اقصد في الخطوات الاتية:
سنأخذ اللغة الانكليزية والعربية كمثال لغرض تسهيل الامر[/COLOR]
الخطوة الاولى: جعل خاصية الLocalizable للنموذج true.
الخطوة الثانية: لغة الForm مسندة الى Default , لذا ستكون اللغة الافتراضية للنموذج بيدك ,يعني اذا اخترت ان تكتب باللغة الانكليزية في الادوات ستكون اللغة الانكليزية هي الافتراضية ,اما اذا كتبت بالعربية ستكون اللغة الافتراضية هي اللغة العربية.
الخطوة الثالثة: تغيير اللغة للForm الى اللغة التي تريدها (مثلا Arabic) اذا اخترت ان تكون اللغة الافتراضية هي اللغة الانكليزية ,ومن ثم كتابة الكلمات العربية المرادفة للكلمات الانكليزية التي كتبتها في الادوات (حتى تكون الترجمة منطقية فلا يجوز ان تكتب open وبالعربية تكتب "اهلا" فهذا غير منطقي حيث الكلمة المرادفة للopen هي "افتح" كما نعلم).
الخطو الرابعة: بعد اكمال الخطوة الثالثة يجب اعادة لغة النموذج الى حالتها الاصلية (Default), ستلاحظ ظهور ملف resx باسم Form1.ar.resx تحت Form1.cs حيث تعتبر كملف ترجمة الى اللغة العربية.
[COLOR="#0000FF"]الان ننتقل الى البرمجة:
كمثال اضف الى النموذج الادوات التالية:
combobox
button عدد 2
من خاصية الItems للcombobox اضف English و Arabic ومن ثم اجعل خاصية الLocalizable للنموذج true وترك اللغة Default واكتب في الزر الاول Hello وفي الزر الثاني Change the language
الان غير اللغة للنموذج الى Arabic واكتب في الزر الاول "مرحبا" وفي الزر الثاني "تغيير اللغة" بعد ذلك F6 ومن ثم غير اللغة الى Default
واكتب الكود الآتي:[/COLOR]
PHP كود :
public string lang(string language)
{
string l = "";
switch (language)
{
case "English":
l = "en";
break;
case"Arabic":
l = "ar";
break;
}
return l;
}
private void change_Click(object sender, EventArgs e)
{
CultureInfo info = new CultureInfo(lang(comboBox1.SelectedItem.ToString()));
foreach (Control cntr in this.Controls)
{
ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));
resources.ApplyResources(cntr, cntr.Name, info);
}
}
[COLOR="#800080"]
طبعا كود تغيير اللغة تكتب في الزر change the language
الان نفذ البرنامج وتمتع ببرنامج متعدد اللغات
وفي الختام نسأل الله ان يوفقنا لما يحبه ويرضاه ,وصلى الله على محمد وآله الطاهرين[/COLOR]