65.9K
CodeProject is changing. Read more.
Home

LANGUAGE SELECT for your programs

starIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

1.00/5 (12 votes)

May 2, 2004

2 min read

viewsIcon

44460

Make its application international!

Introduction

LANGUAGE SELECT for your programs

language screenshot

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