تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مثال] كيف تضيف اكثر من لغة الى برنامجك
#1
Question 
حتى تتمكن من ان تصنع برنامج له نفس الواجهه بعدة لغات , وبالتصميم الذي تريده .
يوجد كثير من الطرق ..
قمت برفع مشروع مبسط لذلك 
 
بكل بساطة فقط اضف Module  جديد .. واضف التالي
كود :
Imports System.Globalization
Imports System.ComponentModel
Imports System.Threading

Module Module1
   Public Enum Languages
       Arabic
       English
       French
   End Enum
   Public Sub SetLanguage(Form As Windows.Forms.Form, ByVal Language As Languages)
       If IsNothing(Form) Then Exit Sub
       Dim culture_info As CultureInfo
       Select Case Language
           Case Languages.Arabic
               culture_info = New CultureInfo("ar")
               Form.RightToLeft = RightToLeft.Yes
           Case Languages.French
               culture_info = New CultureInfo("fr-FR")
               Form.RightToLeft = RightToLeft.No
           Case Else
               culture_info = New CultureInfo("en-us")
               Form.RightToLeft = RightToLeft.No
       End Select



       Dim component_resource_manager As New ComponentResourceManager(Form.GetType)
       Thread.CurrentThread.CurrentUICulture = culture_info
       Thread.CurrentThread.CurrentCulture = culture_info
       component_resource_manager.ApplyResources(Form, "$this", culture_info)
       For Each ctl As Control In Form.Controls
           ApplyLocaleToControl(ctl, component_resource_manager, culture_info)
       Next ctl
   End Sub
   Public Sub ApplyLocaleToControl(ByVal ctl As Control, ByVal component_resource_manager As ComponentResourceManager, ByVal culture_info As CultureInfo)
       ctl.Refresh()
       component_resource_manager.ApplyResources(ctl, ctl.Name, culture_info)
       If TypeOf ctl Is MenuStrip Then
           Dim menu_strip As MenuStrip = DirectCast(ctl, MenuStrip)
           For Each child As ToolStripMenuItem In menu_strip.Items
               ApplyLocaleToToolStripItem(child, component_resource_manager, culture_info)
           Next child
       ElseIf TypeOf ctl Is ToolStrip Then
           Dim menu_strip As ToolStrip = DirectCast(ctl, ToolStrip)
           For Each child In menu_strip.Items
               ApplyLocaleToToolStripItem(child, component_resource_manager, culture_info)

               For Each child2 In child.DropDownItems
                   ApplyLocaleToToolStripItem(child2, component_resource_manager, culture_info)
               Next
           Next child
       Else
           For Each child As Control In ctl.Controls
               ApplyLocaleToControl(child, component_resource_manager, culture_info)
               For Each child2 As Control In child.Controls
                   ApplyLocaleToControl(child2, component_resource_manager, culture_info)
               Next
           Next child
       End If
   End Sub
   Private Sub ApplyLocaleToToolStripItem(ByVal item As ToolStripItem, ByVal component_resource_manager As ComponentResourceManager, ByVal culture_info As CultureInfo)
       component_resource_manager.ApplyResources(item, item.Name, culture_info)
       If TypeOf item Is ToolStripMenuItem Then
           Dim menu_item As ToolStripMenuItem = DirectCast(item, ToolStripMenuItem)
           For Each child As ToolStripItem In menu_item.DropDownItems
               ApplyLocaleToToolStripItem(child, component_resource_manager, culture_info)
           Next child
       End If
   End Sub

End Module
 وفي اي فورم تريده ضع الكود 
كود :
SetLanguage(Me, Languages.Arabic)
or
SetLanguage(Me, Languages.English)
or
SetLanguage(Me, Languages.French)

Smile

ولعمل اي واجهة للفورم باي لغة تريدها .. فقط اختر الـ Language لهذا الفورم او ذاك
الرد }}}}
تم الشكر بواسطة: abulayth , hamada558 , m_nader
#2
بارك الله فيك

يعطيك العافية
شـــايـفـــك

الرد }}}}
تم الشكر بواسطة: HASAN6.0
#3
(26-11-15, 09:50 PM)abulayth كتب : بارك الله فيك

يعطيك العافية

اشكرك استاذ ابو الليث
الرد }}}}
تم الشكر بواسطة:
#4
ممتاز جدا
فعلا هذه الميزة بيغفل عنها كثير وانا اولهم.
انا عن نفسي اعتبرك من كبار المبرمجين (كلمة كبار ما لها علاقه بالعمر ههههه)
الرد }}}}
تم الشكر بواسطة: HASAN6.0


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مقال] دمج كل ملفات برنامجك الى ملف تنفيذى واحد ali.alfoly 25 7,838 منذ 9 ساعة مضت
آخر رد: ali.alfoly
  حصرياً ( إطبع على الوورد من خلال برنامجك ) ( شرح بالصور ) m.sami.ak 20 1,956 20-08-16, 11:53 PM
آخر رد: الوادي
  الاستفادة من بارمترات الاخراج من SQL Server داخل برنامجك ابو ليلى 1 194 20-08-16, 02:16 AM
آخر رد: الوادي
Star [VB.NET] شرح عمل امتداد خاص لبرامجك وجعل برنامجك يقرأ هذة الملفات mohammed_gamal381 22 7,353 01-06-16, 02:55 PM
آخر رد: ابراهيم كركوكي
  طريقة مميزة لعمل إعدادات Setting لحفظ اعدادات برنامجك بدون أكواد kslawy 6 1,641 26-05-16, 12:07 PM
آخر رد: CLARO
  حصرياً على اليوتوب,,, إطبع على الوورد من خلال برنامجك ( شرح بالفيديو ) مبرمج أوتار 5 1,809 15-05-16, 05:06 PM
آخر رد: CLARO
  كيف تجعل برنامجك عالميا و يدعم أكثر من لغة silverlight 5 722 15-05-16, 05:03 PM
آخر رد: CLARO
  موضوع الاستاذ رامي مثال \ لطريقة تفعيل برنامجك عند العميل وتغيير كلمة مرور اRamilove سعود 7 2,034 26-01-16, 08:07 PM
آخر رد: سعود
Brick [مثال] السحب والافلات على ايقونه البرنامج اكثر من مره والافلات على النافذه الطالب 0 359 15-08-15, 09:58 PM
آخر رد: الطالب
  كيف تتعامل مع برنامج الإكسيل من برنامجك rinawi 6 1,776 25-06-15, 05:49 AM
آخر رد: Nadir_Nabous

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


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