Introduction
LANGUAGE SELECT for your programs
German, English, French, Spanish
Make its application international!
In a simple way
With only 3 functions and four resource files
The Functionen is pure Visual basic Net code version the Functionen is pure Visual basic Net code version 2003
function 1
Imports System
Imports System.IO
Imports System.Collections
Imports System.Resources
Imports System.Globalization
Imports System.Threading
Module ptLanguage
#Region "Strings aus der ResourceDatei holen"
Public Function ResString(ByVal rIndex As String, ByVal LgManuel As String) As String
'
On Error GoTo ErrorHandler
'
Dim lang As CultureInfo = Thread.CurrentThread.CurrentCulture
Dim spr As String = Trim(lang.ToString())
Dim spr_file As String
Dim SuchStr As String
Dim ret As String
Dim lgPfad As String = CurDir()
'
ret = "Error"
'
If Trim(LgManuel) <> "" Then
spr = Trim(LgManuel)
End If
'
Select Case spr
Case Is = "de-DE"
spr_file = "de.resources"
Case Is = "en-US"
spr_file = "us.resources"
Case Is = "fr-FR"
spr_file = "fr.resources"
Case Is = "es-ES"
spr_file = "es.resources"
Case Else
spr_file = "us.resources"
End Select
lgPfad = lgPfad & "\" & spr_file
If File.Exists(lgPfad) Then
Dim rr As ResourceReader = New ResourceReader(lgPfad)
Dim rlg As IDictionaryEnumerator = rr.GetEnumerator
While rlg.MoveNext()
SuchStr = CType(rlg.Key, String)
If Trim(SuchStr) = Trim(rIndex) Then
ret = CType(rlg.Value, String)
Exit While
End If
End While
rr.Close()
ResString = ret
End If
Exit Function
ErrorHandler:
ret = "Error"
Exit Function
'
End Function
#End Region
#Region "Language Ini vom System"
'
Public Sub Language_Ini()
'
Dim lang As CultureInfo = Thread.CurrentThread.CurrentCulture
Dim spr As String = Trim(lang.ToString())
'
Select Case spr
Case Is = "de-DE"
Select_Language = CDe
Case Is = "en-US"
Select_Language = CUs
Case Is = "fr-FR"
Select_Language = CFr
Case Is = "es-ES"
Select_Language = CEs
Case Else
Select_Language = CUs
End Select
'
End Sub
'
#End Region
End Module
function 2
Private Sub Language_FrmMain(ByVal sLanguage As String)
'
Me.Text = ResString("1", sLanguage)
Me.TbGerman.Text = ResString("100", sLanguage)
Me.TbUs.Text = ResString("101", sLanguage)
Me.TbFr.Text = ResString("102", sLanguage)
Me.TbEs.Text = ResString("103", sLanguage)
Me.Lbl1.Text = ResString("104", sLanguage)
Me.Lbl2.Text = ResString("105", sLanguage)
Me.Lbl3.Text = ResString("106", sLanguage)
Me.Lbl4.Text = ResString("107", sLanguage)
Me.Lbl5.Text = ResString("108", sLanguage)
Me.BtnExit.Text = ResString("109", sLanguage)
'
End Sub
mopre see source code