تقييم الموضوع :
  • 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 ك ب / التحميلات : 315)
الرد
#2
بارك الله فيك اخي سعود
شكراً جزيلاً
 اللهم اغفر لي و لوالديّ و للمؤمنين و المؤمنات 
و المسلمين و المسلمات الأحياء منهم و الأموات 
سبحان الله وبحمده Heart سبحان الله العظيم
الرد
تم الشكر بواسطة: سعود الشامان
#3
العفو يالامير

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [درس فيديو] التحكم الكامل في إدارة المستخدمين وإنشاء صلاحياتهم في برنامجك من خلال SQL SERVER 2016 عبدالله الدوسري 7 6,334 02-10-18, 10:58 AM
آخر رد: sendbad100
  [مشروع] تعدد لغات برنامجك بطريقة سهلة سعود 11 1,052 14-09-18, 03:08 PM
آخر رد: سعود
  [مشروع] مشاركة بسيطة [مشاهدة احصائية الموقع من برنامجك] سعود 10 964 16-06-18, 09:35 AM
آخر رد: سعود
  مشروع مفتوح المصدر لجعل الصورة كرتونية او اضافة تأثيرات لها مثل الأضاءة او غيرها viv 2 473 12-05-18, 01:28 PM
آخر رد: viv
  [مشروع] انتاج نسخه تجريبية من برنامجك لوقت محدد و اكتشاف تلاعب المستخدم بساعه الجهاز myalsailamy 3 2,026 17-05-17, 11:44 AM
آخر رد: أسامة السالمي
Wink [VB.NET] متعدد اللغات لصلاحيات المستخدمين سيد درويش 9 1,796 26-10-16, 05:09 PM
آخر رد: 0theghost0
  [VB.NET] جعل برنامجك تجريبى بالايام مع تخطى ثغرة تغيير التاريخ بدون الاتصال بالانترنت mohamed haroon 6 2,221 15-06-16, 11:44 PM
آخر رد: خالد الرماح
  كود لجعل البرنامج نسخه تجريبيه ghaner joseph 2 1,826 12-04-16, 06:59 PM
آخر رد: AbdoSoft
Rainbow مثال - استخدام My.Setting لتغيير خصائص برنامجك Genius Live 3 3,169 14-07-14, 04:48 AM
آخر رد: djelloul

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


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