منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] الطريقة الصحيحة لجعل برنامجك متعدد اللغات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم امثلة ومشاريع VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=188)
+--- الموضوع : [VB.NET] الطريقة الصحيحة لجعل برنامجك متعدد اللغات (/showthread.php?tid=22026)



الطريقة الصحيحة لجعل برنامجك متعدد اللغات - سعود الشامان - 07-10-17

بسم الله الرحمن الرحيم وبه نستيعن

هذه الطريقة تستخدمها أغلب الشركات الكبرى
مثال برنامج Internet Download Manager


وليس صنع برنامج متعدد اللغات فقط , بل متعدد اللهجات أيضاً


والطريقة كالتالي :

نعمل مشروع جديد :

نقوم بإضافة :
ComboBox1
إختر اللغة: =Label1
Label2 = Phone



نعمل إستيراد لمكتبة Globalization ومكتبة ComponentModel

كود :
Imports System.Globalization
Imports System.ComponentModel


نضع هذه الكود في تصاريح عامة

كود :
   Private Sub ChangeLanguage(ByVal Language As String)

       For Each c As Control In Me.Controls

           Dim crmLang As ComponentResourceManager = New ComponentResourceManager(GetType(Form1))

           crmLang.ApplyResources(c, c.Name, New CultureInfo(Language))

       Next c

هذا الكود في لود الفورم


كود :
       ComboBox1.Items.Add("English")
       ComboBox1.Items.Add("العربية - السعودية")
       ComboBox1.Items.Add("العربية - مصر")
       ComboBox1.Items.Add("العربية - الأردن")

       If ComboBox1.SelectedIndex = 0 Then  '
           ChangeLanguage("en-us")
       End If


       If ComboBox1.SelectedIndex = 1 Then
           ChangeLanguage("ar-SA")
       End If


       If ComboBox1.SelectedIndex = 2 Then
           ChangeLanguage("ar-EG")
       End If

       If ComboBox1.SelectedIndex = 3 Then
           ChangeLanguage("ar-JO")
       End If


       '-----------------------------------------------------------
       Dim myCurrentLanguage As InputLanguage = InputLanguage.CurrentInputLanguage

       If myCurrentLanguage.Culture.EnglishName = "English (United States)" Then
           ComboBox1.SelectedIndex = 0
       End If

       If myCurrentLanguage.Culture.EnglishName = "Arabic (Saudi Arabia)" Then
           ComboBox1.SelectedIndex = 1
       End If

       If myCurrentLanguage.Culture.EnglishName = "Arabic (Egypt)" Then
           ComboBox1.SelectedIndex = 2
       End If


       If myCurrentLanguage.Culture.EnglishName = "Arabic (Jordan)" Then
           ComboBox1.SelectedIndex = 3
       End If


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


كود :
       If ComboBox1.SelectedIndex = 0 Then

           ChangeLanguage("en-us")

       ElseIf ComboBox1.SelectedIndex = 1 Then

           ChangeLanguage("ar-SA")

       Else

           ChangeLanguage("ar-EG")

       End If



الآن من خصائص الفورم نختار خيار Localizable ونجعل قيمته False
( لعدم خروج الادوات من الفورم )




من خصائص الفورم نختار خيار Language

ونختار جميع المناطق اللتي نريد

مثلا نختار ( العربية - السعودية ) و نغير اسم الليبل إلى ( الجوال  )
ثم نعود مره اخرى لخيار Language ونختار ( العربية - مصر ) ونغير اسم الليبل إلى ( المحمول )
ثم نعود مره اخرى لخيار Language ونختار ( العربية - الأردن) ونغير اسم الليبل إلى ( الخلوي)

بعد إختيار جميع اللغة اللتي تريد نغير خيار Language إلى (Default)



وهذا الشرح بالفيديو لكن مثال آخر

من الدكتور / محمد ناجح جزاه الله عنا خير الجزاء

[/url]https://www.youtube.com/watch?v=s7ixEl74RpE
[url=http://www.codeguru.com/columns/vb/localization-in-vb.net.htm]

ملاحظة هامة جداً :

في مجلد الديباج ( Debug ) نجلد مجلدات للغة الدول المحددة يجب نقل هذه المجلدات مع الملف التنفيذي
مثل قاعدة البيانات



RE: الطريقة الصحيحة لجعل برنامجك متعدد اللغات - سعود الشامان - 13-10-17

العفو يالامير

ومنور يالغالي


RE: الطريقة الصحيحة لجعل برنامجك متعدد اللغات - 0theghost0 - 15-10-17

لدي استفسار مهم اذا عندي اكثر من فورمة مالعمل ليقم بالترجمة ؟؟

ما الكود المضاف في الفورمات الباقي ليقوم بالترجمة ؟


RE: الطريقة الصحيحة لجعل برنامجك متعدد اللغات - AymanRamadanSaad - 15-01-19

بارك الله فيك وشكرا جزيلاً اخي الكريم


RE: الطريقة الصحيحة لجعل برنامجك متعدد اللغات - moosa_alabri - 15-01-21

جزاك الله خيرا


RE: الطريقة الصحيحة لجعل برنامجك متعدد اللغات - ibra9009 - 04-02-21

بارك الله فيك اخي سعود
شكراً جزيلاً