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

لقد قمت ببرمجة مشروعي باللغة الانجلينزية وعرض عليي شخص اني اجعل البرنامج يكون بأكثر من لغة بحيث اني اضع الكود وهو يختار اللغة الى يريدها والبرنامج يترجم بنفسة ليتطابق مع الجهات ( من اليمين الى اليسار عربي - من اليسار لليمين انجلينزي ) وهكذا واتمنى ان الكود يقبل او يترجم جميع الفورمات لان مشروعي اشوي كبير وله عدة فورمات حصلت كود يترجم فقط الفورمة الاولى اما الثانية الى الاخيرة لايترجمها اتمنى الافادة ياخبراء البرمجة .

اما بخصوص اللغات فهي :
الانجلينزية
العربية

وان امكن :
جميع انواع اللغات .

مع جزيل الشكر
الرد }}}}
تم الشكر بواسطة:
#2
وعليكم السلام و رحمة الله و بركاته  ،،

اخي بالنسبه لموضوع  ( من اليمين الى اليسار عربي - من اليسار لليمين انجلينزي ) ، هذا سهل لو استخدمت ادوات  مثل  tableLayoutPanel  أما اذا كنت من تعيسين الحظ الذين  قاموا باستخدام  GroupBox   و  Panel  في تصميم واجهات برامجهم الحقيقه سوف تعاني لتجعل الواجهه تنتقل من اليسار الى اليمين او العكس لانها لا تدعم righttoleftLayOut  و كنت قد بحثت عن هذه المشكله قبل فتره  ووجدت كود يقوم بحساب المسافات ونقل الادوات  التي بداخلها من جهة اليسار الى اليمين او العكس وقد قمت بتطويره قليلاً و جعله ك Class و هذا هو :


كود :
Public Class ControlFormStyle

#Region "قلب الادوات من اليمين الى اليسار"

    Public Shared Sub changeFormLayoutRTL(ByVal setRTL_Par As Boolean, ByVal frm_par As Form)
        If frm_par.RightToLeftLayout = True And setRTL_Par = True Then Exit Sub
        If frm_par.RightToLeftLayout = False And setRTL_Par = False Then Exit Sub
        frm_par.Visible = False
        frm_par.RightToLeft = IIf(setRTL_Par = True, Windows.Forms.RightToLeft.Yes, Windows.Forms.RightToLeft.No)
        frm_par.RightToLeftLayout = setRTL_Par
        ApplyRTL(setRTL_Par, frm_par)
        frm_par.Visible = True
    End Sub

    Private Shared Sub ApplyRTL(ByVal yes As Boolean, ByVal startControl As Control)

        If (TypeOf startControl Is Panel) OrElse (TypeOf startControl Is GroupBox) Then
            For Each control As Control In startControl.Controls
                control.Location = CalculateRTL(control.Location, startControl.Size, control.Size)
            Next
        End If

        If (TypeOf startControl Is PictureBox) Then
            Dim targetPictureBox As PictureBox = CType(startControl, PictureBox)
            If Not targetPictureBox.Image Is Nothing Then targetPictureBox.Image.RotateFlip(RotateFlipType.Rotate180FlipY)
        End If

        For Each control As Control In startControl.Controls
            ApplyRTL(yes, control)
        Next

    End Sub



    Private Shared Function CalculateRTL(ByVal currentPoint As Point, ByVal parentSize As Size, ByVal currentSize As Size) As Point
        Return New Point(parentSize.Width - currentSize.Width - currentPoint.X, currentPoint.Y)
    End Function

#End Region
End Class


أما بالنسبه لطلبك الاخر في الحقيقه طورت اداه تقوم بسحب جميع النصوص من اي ملف برمجي بلغة  vb.net  ولكن مشكلته انه لن يتوافق مع طلبك  لان البرنامج صنعته ليسحب جميع الكلمات العربيه من الواجهات و ترتيبها في جدول ثم تصديرها كـ ملف XML  و انت  قمت بادخال الانجليزية سلفاً  لذلك لن يفيدك برنامجي
اسم معرفي : محمد يحيى
الرد }}}}
تم الشكر بواسطة: الماجيك مسعد
#3
اولا شكرا اخوي على المجهود .

ثانيا هل الكود يعطيني خيار لاختيار لغة البرنامج المراد اختيارها ؟

ثانيا يوجد خطأ عندما وضعته في كلاس :

frm_par.RightToLeft = IIf(setRTL_Par = True, Windows.Forms.RightToLeft.Yes, Windows.Forms.RightToLeft.No)

مكان الخطأ :
Windows.Forms

العنوان :
form is not a member of windows
الرد }}}}
تم الشكر بواسطة:
#4
فقط قم باضافة Imports System.Windows.Forms.Form
اعلى الكلاس ،،،

بالنسبه للاستخدام فقط في بداية تشغيل اي فورم
ControlFormStyle.changeFormLayoutRTL(true , Me)
اسم معرفي : محمد يحيى
الرد }}}}
تم الشكر بواسطة:
#5
يوجد خطأ

تأكد رحم الله والديك

كود :
Imports System.Windows.Forms.Form

Public Class ControlFormStyle

#Region "قلب الادوات من اليمين الى اليسار"

    Public Shared Sub changeFormLayoutRTL(ByVal setRTL_Par As Boolean, ByVal frm_par As Form)
        If frm_par.RightToLeftLayout = True And setRTL_Par = True Then Exit Sub
        If frm_par.RightToLeftLayout = False And setRTL_Par = False Then Exit Sub
        frm_par.Visible = False
        frm_par.RightToLeft = IIf(setRTL_Par = True, Windows.Forms.RightToLeft.Yes, Windows.Forms.RightToLeft.No)
        frm_par.RightToLeftLayout = setRTL_Par
        ApplyRTL(setRTL_Par, frm_par)
        frm_par.Visible = True
    End Sub

    Private Shared Sub ApplyRTL(ByVal yes As Boolean, ByVal startControl As Control)

        If (TypeOf startControl Is Panel) OrElse (TypeOf startControl Is GroupBox) Then
            For Each control As Control In startControl.Controls
                control.Location = CalculateRTL(control.Location, startControl.Size, control.Size)
            Next
        End If

        If (TypeOf startControl Is PictureBox) Then
            Dim targetPictureBox As PictureBox = CType(startControl, PictureBox)
            If Not targetPictureBox.Image Is Nothing Then targetPictureBox.Image.RotateFlip(RotateFlipType.Rotate180FlipY)
        End If

        For Each control As Control In startControl.Controls
            ApplyRTL(yes, control)
        Next

    End Sub



    Private Shared Function CalculateRTL(ByVal currentPoint As Point, ByVal parentSize As Size, ByVal currentSize As Size) As Point
        Return New Point(parentSize.Width - currentSize.Width - currentPoint.X, currentPoint.Y)
    End Function

#End Region
End Class
الرد }}}}
تم الشكر بواسطة:
#6
هل من يستطيع المساعدة ؟؟
لحد الان مادري ليش مايشتغل الكود المطروح هنا

علما استخدم فيجوال بيسك 2015 اخر اصدار
الرد }}}}
تم الشكر بواسطة:
#7
نفس الشيء شباب لم احصل على حل
الرد }}}}
تم الشكر بواسطة:
#8
السلام عليكم و رحمة الله و بركاته  ،، 

اخي الفاضل اذا لم تستطع حل الاشكاليه بهذه البساطه  رغم انها فقط نسخ لصق تشغيل ، فماذا ستفعل في عندما تتعامل مع مشاريع جاهزه  Huh
كل رسائلك تشير الى نقص مكتبه في مشروعك فقط ابحث قليلاً و خصوصا انها مشكله شخصيه في مشروعك

على العموم  قمت بارفاق الكلاس في مشروع مع  Demo  ، و يعمل بدون اي مشاكل و بدون اي اضافات



.rar   RTLApp.rar (الحجم : 67.42 ك ب / التحميلات : 13)
اسم معرفي : محمد يحيى
الرد }}}}
تم الشكر بواسطة:
#9
اخي تأكد من مشروعك يوجد به اخطاء لم يترجم لي شيء فقط قام بنقل كل شيء من اليمين الى اليسار والعكس

وشكرا على مجهودك الرائع
الرد }}}}
تم الشكر بواسطة:
#10
(01-05-16, 04:39 PM)0theghost0 كتب : اخي تأكد من مشروعك يوجد به اخطاء لم يترجم لي شيء فقط قام بنقل كل شيء من اليمين الى اليسار والعكس

وشكرا على مجهودك الرائع

المثال يعمل جيدا كما هو مطلوب - تغيير اتجاه الفورم حسب اللغات rtl او lrt
اما ان كان قصدك الترجمة النصية للكلمات داخل الفورم فهذا أمر آخر تماما ولا يشترط تغيير اتجاه الفورم
كما انه لا يمكن للبرنامج ترجمة النص بمعنى ترجمة وانما استبدال النص حسب اللغة المقدمة وفي هذه الحالة ستقوم انت بادخال كل الكلمات باللغتين
هذا فيديو توضيحي للفكرة اتمنى ان تفيدك https://www.youtube.com/watch?v=-2ksI53bPtg
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الاخوة الاعزاء ابحث عن مثال للتنبيه بقرب انتهاء تاريخ بشرط ان احدد المدة trfa8899 4 132 21-11-16, 11:00 AM
آخر رد: trfa8899
  [VB.NET] طلب انشاء جملة update في مشروعي Codack 7 198 11-10-16, 04:41 PM
آخر رد: Codack
  [VB.NET] مشروعي محتاج الى لمسات خفيفة 0theghost0 3 161 28-08-16, 12:40 AM
آخر رد: Adrees
  طريقة جعل مشروعي يعمل على جميع الأجهزة sari 1 183 19-08-16, 01:40 AM
آخر رد: أسامة السالمي
Smile [سؤال] الحاجة الى اكمال مشروعي ali jamal 7 237 13-06-16, 12:37 PM
آخر رد: ali jamal
  [VB.NET] محتاج مساعدة لتعديل مشروعي point of sale بالاكواد الحديثة 0theghost0 1 160 24-05-16, 12:02 AM
آخر رد: Adrees
  [سؤال] كود للاهمية ابحث عنه كثير ramygamalvb 23 980 11-03-16, 07:21 PM
آخر رد: hassan
  ابحث عن برنامج يقوم بعمل نسخ احتياطي اتوماتيك sql server samira2013 5 449 18-02-16, 02:03 AM
آخر رد: adel27
  كيف اقدر ابحث بجهاز باركود داخل حقل معين بقاعدة بيانات اكسيس رهف العريفي 2 464 01-02-16, 10:59 AM
آخر رد: myalsailamy
Sad محتارة في Report Viwer محتاجة مساعدتكم كيف ابحث او افلتر بين تاريخين رهف العريفي 6 506 06-11-15, 09:14 AM
آخر رد: رهف العريفي

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


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