تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] الطريقة الصحيحة لجعل برنامجك متعدد اللغات
#1
بسم الله الرحمن الرحيم وبه نستيعن

هذه الطريقة تستخدمها أغلب الشركات الكبرى
مثال برنامج 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=http://www.codeguru.com/columns/vb/localization-in-vb.net.htm]

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

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


الملفات المرفقة
.rar   Language.rar (الحجم : 87.34 ك ب / التحميلات : 871)
الرد }}}
#2
بارك الله فيك اخي سعود
شكراً جزيلاً
الرد }}}
تم الشكر بواسطة: سعود الشامان , asemshahen5
#3
العفو يالامير

ومنور يالغالي
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy , asemshahen5
#4
لدي استفسار مهم اذا عندي اكثر من فورمة مالعمل ليقم بالترجمة ؟؟

ما الكود المضاف في الفورمات الباقي ليقوم بالترجمة ؟
الرد }}}
تم الشكر بواسطة: asemshahen5
#5
بارك الله فيك وشكرا جزيلاً اخي الكريم
الرد }}}
تم الشكر بواسطة: elgokr
#6
جزاك الله خيرا
الرد }}}
تم الشكر بواسطة: asemshahen5 , asemshahen5
#7
بارك الله فيك اخي سعود
شكراً جزيلاً
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الطريقة الصحيحة للتأكد من حالة الإتصال بالإنترنت abuzarei 0 337 17-08-23, 09:21 PM
آخر رد: abuzarei
  مشروع إختيار متعدد من متعدد بشكل عشوائي (القرعة) Taha Okla 0 1,249 20-08-22, 11:57 PM
آخر رد: Taha Okla
  [كورس] معرفة عدد مستخدمين برنامجك dasktop 2 1,144 14-05-22, 02:47 AM
آخر رد: dasktop
  مشروع تفقيط الأرقام عربي / إنجليزي متعدد العملات [منقول]. asemshahen5 2 3,150 07-06-21, 05:06 PM
آخر رد: zayedali
  [مشروع] اجعل برنامجك يحذف نفسه عند او عدم تحقق شرط سعود 0 1,686 07-12-20, 03:33 AM
آخر رد: سعود
  [درس فيديو] التحكم الكامل في إدارة المستخدمين وإنشاء صلاحياتهم في برنامجك من خلال SQL SERVER 2016 عبدالله الدوسري 10 49,926 13-10-20, 04:48 PM
آخر رد: tanmia
Lightbulb [VB.NET] ربط Enum بـ ComboBox واستخدامها بالطريقة الصحيحة Anas Mahmoud 0 1,235 09-09-20, 03:02 PM
آخر رد: Anas Mahmoud
Video [درس فيديو] طريقة تشغيل برنامجك عند تشغيل جهاز الكمبيوتر ahmadpal 0 1,428 06-06-20, 03:41 AM
آخر رد: ahmadpal
  خطوة خطوة - ازاي تحول برنامجك لملف exe يتم تسطيبه على اي كمبيوتر بجميع ملفاته ggtt17121985 3 2,827 11-02-20, 12:02 AM
آخر رد: ggtt17121985
  [مشروع] مشاركة بسيطة [مشاهدة احصائية الموقع من برنامجك] سعود 13 6,739 03-07-19, 07:54 PM
آخر رد: سعود

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


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