تقييم الموضوع :
  • 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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف تتعامل مع برنامج الإكسيل من برنامجك rinawi 7 6,628 12-11-22, 12:11 AM
آخر رد: خالد العصاوي
  طريقة استخدام مكتبة internet download manager في برنامجك kslawy 3 5,360 30-07-19, 07:06 AM
آخر رد: سعود
  مقال: الكومبو بوكس ComboBox كيف تضيف أيقونات Blue Sky 1 3,159 30-06-19, 10:41 AM
آخر رد: invocker
  كيف تجعل برنامجك عالميا و يدعم أكثر من لغة silverlight 6 5,585 29-05-19, 10:32 PM
آخر رد: egbest2
Brick جعل برنامجك يعمل بوضعية المدير أو المسؤول - Administrator YousefOkasha 2 2,897 24-10-18, 02:58 PM
آخر رد: حريف برمجة
  حصرياً ( إطبع على الوورد من خلال برنامجك ) ( شرح بالصور ) m.sami.ak 21 12,533 23-02-18, 11:04 AM
آخر رد: احمد نعمة عبد السلام
  موضوع الاستاذ رامي مثال \ لطريقة تفعيل برنامجك عند العميل وتغيير كلمة مرور اRamilove سعود 8 7,693 06-10-17, 01:43 AM
آخر رد: حمادة دراز
  [مقال] دمج كل ملفات برنامجك الى ملف تنفيذى واحد ali.alfoly 25 21,871 02-12-16, 04:04 PM
آخر رد: ali.alfoly
  الاستفادة من بارمترات الاخراج من SQL Server داخل برنامجك ابو ليلى 1 3,297 20-08-16, 02:16 AM
آخر رد: الوادي
Star [VB.NET] شرح عمل امتداد خاص لبرامجك وجعل برنامجك يقرأ هذة الملفات mohammed_gamal381 22 19,125 01-06-16, 02:55 PM
آخر رد: ابراهيم كركوكي

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


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