تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
دعم واجهات التطبيق لاكثر من لغة عرض (عربي - انجليزي - الخ)
#1
كاتب الموضوع : المخلب الجارح

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


اليوم سوف نتعلم كيفية انشاء مشاريع WPF تمتلك ميزة تعدد لغات العرض


قم بانشاء مشروع WPF Application جديد


الان وفي النافذة Solution Explorer قم بانشاء مجلد جديد وقم بتسميتة Lang


الان قم بالضغط على المجلد بزر الماوس الايمن وقم باختيار االعنصر Add


ومن القائمة الفرعية Add قم باختيار Resource Dictionary وقم بتسميتة Ar





سوف يتم اضافة ملف Resource Dictionary الى مشروعك وسيتم فتحة وسيحتوي على هذا الكود



كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]<[/color][color=#0000bb]ResourceDictionary xmlns[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    [/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]x[/color][color=#007700]=[/color][color=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml"[/color][COLOR=#007700]>
    
  
</[/COLOR][color=#0000bb]ResourceDictionary[/color][COLOR=#007700]>  
[/COLOR][color=#0000bb][/color][/COLOR]


الان قم باضافة Namespace جديد واجعل اسمة system وليكن للتفرع System

سيكون كود الملف Ar.xaml بعد اضافة namespace



كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]<[/color][color=#0000bb]ResourceDictionary xmlns[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    [/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]x[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml"
    [/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]system[/color][color=#007700]=[/color][color=#dd0000]"clr-namespace:System;assembly=mscorlib"[/color][COLOR=#007700]>
    
    
</[/COLOR][color=#0000bb]ResourceDictionary[/color][COLOR=#007700]>  
[/COLOR][color=#0000bb][/color][/COLOR]


الان وفي الجزء Content الخاص بالملف Ar.xaml قم بكتابة الكود التالي



كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]<[/color][color=#0000bb]system[/color][color=#007700]:[/color][color=#0000bb]String x[/color][color=#007700]:[/color][color=#0000bb]Key[/color][color=#007700]=[/color][color=#dd0000]"btnLang"[/color][color=#007700]>[/color][color=#0000bb]العربية[/color][color=#007700]</[/color][color=#0000bb]system[/color][color=#007700]:[/color][color=#0000bb]String[/color][COLOR=#007700]>  
[/COLOR][color=#0000bb][/color][/COLOR]



وسيكون كود الملف بشكل مكتمل بهذا الشكل



كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]<[/color][color=#0000bb]ResourceDictionary xmlns[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    [/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]x[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml"
    [/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]system[/color][color=#007700]=[/color][color=#dd0000]"clr-namespace:System;assembly=mscorlib"[/color][COLOR=#007700]>

     <[/COLOR][color=#0000bb]system[/color][color=#007700]:[/color][color=#0000bb]String x[/color][color=#007700]:[/color][color=#0000bb]Key[/color][color=#007700]=[/color][color=#dd0000]"btnLang"[/color][color=#007700]>[/color][color=#0000bb]العربية[/color][color=#007700]</[/color][color=#0000bb]system[/color][color=#007700]:[/color][color=#0000bb]String[/color][COLOR=#007700]>

</[/COLOR][color=#0000bb]ResourceDictionary[/color][COLOR=#007700]>  
[/COLOR][color=#0000bb][/color][/COLOR]



والان نتعرف على الكود قمنا باضافة متغير من نوع String اسمة btnLang
وقيمتة (العربية)



الان ومن نافذة Solution Explorer نقوم بنسخ الملف Ar.xaml بالضغط علية بزر الماوس الايمن واختيار Copy ومن ثم تحديد المجلد Lang والضغط علية بزر الماوس
الايمن واختيار Paste


كما موضح بالصور






بعدها نقوم باعاده تسمية الملف Copy of Ar.xaml ليكن اسم الملف En.xaml







بعدها نقوم بالضغط دبل كليك على الملف En.xaml ليتم فتح الكود ونقوم بتعديل بسبط في الكود سوف نقوم بتعديل قيمة المتغير btnLang لتكون قيمتة الجديدة (English)



<system:String x:Key="btnLang">English</system:String>

الان نقوم بالضغط دبل كليك على الملف Application.xaml ليتم فتح الكود ونقوم باضافة الكود التالي بعد الوسم <Application.Resources>




كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]<[/color][color=#0000bb]ResourceDictionary[/color][COLOR=#007700]>
            <[/COLOR][color=#0000bb]ResourceDictionary[/color][color=#007700].[/color][color=#0000bb]MergedDictionaries[/color][COLOR=#007700]>
                <[/COLOR][color=#0000bb]ResourceDictionary Source[/color][color=#007700]=[/color][color=#dd0000]"Lang/Ar.xaml" [/color][COLOR=#007700]/>
            </[/COLOR][color=#0000bb]ResourceDictionary[/color][color=#007700].[/color][color=#0000bb]MergedDictionaries[/color][COLOR=#007700]>
</[/COLOR][color=#0000bb]ResourceDictionary[/color][COLOR=#007700]>  
[/COLOR][color=#0000bb][/color][/COLOR]




ليكن الكود الكامل للملف Application.xaml بهذا الشكل





كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]<[/color][color=#0000bb]Application x[/color][color=#007700]:Class=[/color][COLOR=#dd0000]"Application"
    [/COLOR][color=#0000bb]xmlns[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    [/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]x[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml"
    [/COLOR][color=#0000bb]StartupUri[/color][color=#007700]=[/color][color=#dd0000]"Window1.xaml"[/color][COLOR=#007700]>
    <[/COLOR][color=#0000bb]Application[/color][color=#007700].[/color][color=#0000bb]Resources[/color][COLOR=#007700]>
        <[/COLOR][color=#0000bb]ResourceDictionary[/color][COLOR=#007700]>
            <[/COLOR][color=#0000bb]ResourceDictionary[/color][color=#007700].[/color][color=#0000bb]MergedDictionaries[/color][COLOR=#007700]>
                <[/COLOR][color=#0000bb]ResourceDictionary Source[/color][color=#007700]=[/color][color=#dd0000]"Lang/En.xaml" [/color][COLOR=#007700]/>
            </[/COLOR][color=#0000bb]ResourceDictionary[/color][color=#007700].[/color][color=#0000bb]MergedDictionaries[/color][COLOR=#007700]>
        </[/COLOR][color=#0000bb]ResourceDictionary[/color][COLOR=#007700]>
    </[/COLOR][color=#0000bb]Application[/color][color=#007700].[/color][color=#0000bb]Resources[/color][COLOR=#007700]>
</[/COLOR][color=#0000bb]Application[/color][COLOR=#007700]>  
[/COLOR][color=#0000bb][/color][/COLOR]


وشرح الكود هو اننا قمنا باعلام البرنامج اتخاذ محتويات En.xaml كمورد افتراضي للمشروع



والان الخطوة الاخيرة اذهب الى النافذة Window1.xaml وقم باضافة Button
واجعل ال Content الخاص به يساوي Content="{DynamicResource btnLang}"



ثم قم بالضغط على Button دبل كليك للدخول الى نافذة الكود وفي حدث الضغط على Button قم باضافة الكود التالي




كود :
[color=#000000][COLOR=#0000bb]   [/color][color=#007700]If [/color][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]FlowDirection [/color][color=#007700]= [/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]FlowDirection[/color][color=#007700].[/color][COLOR=#0000bb]LeftToRight Then
            Me[/COLOR][color=#007700].[/color][color=#0000bb]FlowDirection [/color][color=#007700]= [/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]FlowDirection[/color][color=#007700].[/color][COLOR=#0000bb]RightToLeft
            Dim ur [/COLOR][color=#007700]As New [/color][color=#0000bb]Uri[/color][color=#007700]([/color][color=#dd0000]"lang/Ar.xaml"[/color][color=#007700], [/color][color=#0000bb]UriKind[/color][color=#007700].[/color][color=#0000bb]Relative[/color][COLOR=#007700])
            [/COLOR][color=#0000bb]Dim rs [/color][color=#007700]As New [/color][COLOR=#0000bb]ResourceDictionary
            rs[/COLOR][color=#007700].[/color][color=#0000bb]Source [/color][color=#007700]= [/color][COLOR=#0000bb]ur
            Application[/COLOR][color=#007700].[/color][color=#0000bb]Current[/color][color=#007700].[/color][color=#0000bb]Resources[/color][color=#007700].[/color][color=#0000bb]MergedDictionaries[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#0000bb]rs[/color][COLOR=#007700])
        Else
            [/COLOR][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]FlowDirection [/color][color=#007700]= [/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]FlowDirection[/color][color=#007700].[/color][COLOR=#0000bb]LeftToRight
            Dim ur [/COLOR][color=#007700]As New [/color][color=#0000bb]Uri[/color][color=#007700]([/color][color=#dd0000]"lang/En.xaml"[/color][color=#007700], [/color][color=#0000bb]UriKind[/color][color=#007700].[/color][color=#0000bb]Relative[/color][COLOR=#007700])
            [/COLOR][color=#0000bb]Dim rs [/color][color=#007700]As New [/color][COLOR=#0000bb]ResourceDictionary
            rs[/COLOR][color=#007700].[/color][color=#0000bb]Source [/color][color=#007700]= [/color][COLOR=#0000bb]ur
            Application[/COLOR][color=#007700].[/color][color=#0000bb]Current[/color][color=#007700].[/color][color=#0000bb]Resources[/color][color=#007700].[/color][color=#0000bb]MergedDictionaries[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#0000bb]rs[/color][COLOR=#007700])
        [/COLOR][color=#0000bb]End [/color][COLOR=#007700]If  
[/COLOR][color=#0000bb][/color][/COLOR]



الان قم بتشغيل البرنامج والضغط على الزر المسمى English


الملفات المرفقة
.zip   LangProg.zip (الحجم : 16.01 ك ب / التحميلات : 63)
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الحلقة 9 من دوت نت عربي : محمد نجيب يتكلم عن الـ wpf Islam Ibrahim 1 2,595 17-09-12, 10:44 PM
آخر رد: smss

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم