PDA

View Full Version : آموزش: آموزش ساخت بخش ریسورس پیام های نرم افزار چند زبانه



ROSTAM2
دوشنبه 10 مهر 1402, 08:35 صبح
در این آموزش ساخت Resource های بخش Message های نرم افزار MultiLanguage توضیح داده می شه...
که در این پروژه زبان های فارسی-عربی-انگلیسی و ویتنامی استفاده شده....
Windows Multi Language Application
Farsi
Arabic
English
Vietnamese

(https://aparat.com/v/5kiHS)https://aparat.com/v/5kiHS


Dim Id As String = My.Settings.LanguageId
If Id.Length = 0 Then Id = My.Application.Culture.Name
Debug.Print(Id)
If My.Application.UICulture.Name <> Id Then
My.Application.ChangeUICulture(Id)
Debug.Print(Id)
End If
--------------------------------------------------------------------------------------------------------------------------------------------------------
Public Class CurrentResources
Private Shared ManagerValue As New ComponentResourceManager(GetType(MultiLanguageReso urces))
Public Shared ReadOnly Property Manager() As ComponentResourceManager
Get
Return ManagerValue
End Get
End Property
Public Shared ReadOnly Property Strings(resName As String) As String
Get
Return Manager.GetString(resName)
End Get
End Property
Public Shared ReadOnly Property ChangeLabguageMessage() As String
Get
Return Manager.GetString("ChangeLabguageMessage")
End Get
End Property
End Class
------------------------------------------------------------------------------------------------------------------------------------------------------
Private Sub ChangeLanguageToolStripMenuItem_DropDownItemClicke d(sender As Object, e As ToolStripItemClickedEventArgs) Handles ChangeLanguageToolStripMenuItem.DropDownItemClicke d
Dim Result As MsgBoxResult = MsgBox(ChangeLabguageMessage, MsgBoxStyle.YesNo)
If Result = MsgBoxResult.No Then Exit Sub
My.Settings.LanguageId = e.ClickedItem.Tag.ToString
My.Settings.Save()
Application.Restart()
End Sub
-----------------------------------------------------------------------------------------------------------------------

ROSTAM2
دوشنبه 10 مهر 1402, 12:14 عصر
شناسایی راست به چپ بودن Layout یک زبان برای نرم افزار چند زبانه

در این آموزش شناسایی راست به چپ بودن Layout یک زبان برای نرم افزار چند زبانه و اعمال تغییرات بر روی اشیاء فرم ها توضیح داده شده....

https://aparat.com/v/JZBuO (https://aparat.com/v/JZBuO)


Public ReadOnly Property RightToLeft() As Boolean
Get
Return My.Application.UICulture.TextInfo.IsRightToLeft
End Get
End Property



With OptionsAndSettiongs
If RightToLeft = False Then
.ButtonsTableLayoutPanel.Dock = DockStyle.Right
End If
With .TabControl1
If RightToLeft = False Then
.RightToLeft = Windows.Forms.RightToLeft.No
End If
For Each Page As TabPage In .TabPages
If Page.Tag Is Nothing OrElse Page.Tag.ToString.Length = 0 Then Continue For
Page.Text = CurrentResources.Strings(Page.Tag.ToString)
If RightToLeft = False Then
With DirectCast(Page.Controls(0), ListView)
.RightToLeftLayout = False
End With
End If
Next
End With
End With

ROSTAM2
دوشنبه 10 مهر 1402, 18:56 عصر
آموزش چگونگی ایجاد ریسورس برای برنامه چندزبانه (روش مطمئن)

در این آموزش برای یک نرم افزار چندزبانه به تعداد زبانها Resources File ایجاد شده و یک کلاسی استفاده می شه که قادر است طبق زبان انتخاب شده متن را از ریسورس فراخوانی و نمایش دهد....
https://aparat.com/v/G3h8S
154981




Public Class CurrentResources


Private Shared ManagerValue As New Resources.ResourceManager("<ProjectAssembly.ResourcesName>", GetType(<AnyClassesOfProject>).Assembly)
Public Shared ReadOnly Property Manager() As Resources.ResourceManager
Get
Return ManagerValue
End Get
End Property
Public Shared ReadOnly Property Strings(resName As String) As String
Get
Return Manager.GetString(resName)
End Get
End Property
Public Shared ReadOnly Property ChangeLabguageMessage() As String
Get
Return Manager.GetString("ChangeLabguageMessage")
End Get
End Property
End Class

ROSTAM2
چهارشنبه 12 مهر 1402, 09:21 صبح
نمایش متن پیام با زبان تنظیم شده نرم افزار و ترجمه آن به زبان منتخب کاربر


154983 (https://aparat.com/v/laSB5)

در این ویدئوی آموزشی نمایش متن پیام تغییر زبان،متشکل از زبان تنظیم شده نرم افزار و ترجمه آن به زبان منتخب کاربر (برای تغییر زبان) در یک جعبه پیام (MessageBox) MsgBox توضیح داده می شه ....

https://aparat.com/v/laSB5 (https://aparat.com/v/laSB5)


Public Shared ReadOnly Property Strings(resName As String, LanguageId As String) As String
Get
Return Manager.GetString(resName, New Globalization.CultureInfo(LanguageId))
End Get
End Property
Public Shared ReadOnly Property ChangeLabguageMessage(LanguageId As String) As String
Get
Return Strings("ChangeLabguageMessage", LanguageId)
End Get
End Property



Private Sub ChangeLanguageToolStripMenuItem_DropDownItemClicke d(sender As Object, e As ToolStripItemClickedEventArgs) Handles ChangeLanguageToolStripMenuItem.DropDownItemClicke d
Dim Id As String = e.ClickedItem.Tag.ToString
Dim Result As MsgBoxResult = MsgBox(String.Format("{1}{0}{0}{2}", vbCrLf, ChangeLabguageMessage, ChangeLabguageMessage(Id)), MsgBoxStyle.YesNo)
If Result = MsgBoxResult.No Then Exit Sub
My.Settings.LanguageId = e.ClickedItem.Tag.ToString
My.Settings.Save()
Application.Restart()
End Sub