Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Multilanguage Switcher from File WPF

0.00/5 (No votes)
3 Nov 2013 1  
Multi Language Switcher Dynamically written in WPF VB.NET using XMLDataProvider

Introduction

This post is about a multi language switcher dynamically written in WPF VB.NET using XMLDataProvider:

Using the Code

 Private Sub limbiSwitch_SelectionChanged(sender As Object, e As SelectionChangedEventArgs)
        Dim combo_switcher As ComboBox = DirectCast(sender, ComboBox)
        Dim e1 As XmlElement = TryCast(langSwitcher.SelectedItem, XmlElement)
        If e1 IsNot Nothing Then
            Dim result1 As XmlAttribute = TryCast(e1.Attributes("file"), XmlAttribute)
            If result1 IsNot Nothing Then
                Dim lang_filename As String = result1.Value
                If lang_filename IsNot selected_language Then
                    Dim provider = DirectCast(Me.Resources("Lang"), XmlDataProvider)
                    Dim lang_url As String = AppDomain.CurrentDomain.BaseDirectory() + _
                    "languages\" + lang_filename
                    If Not System.IO.File.Exists(lang_url) Then
                        Return
                    End If
                    provider.Source = New Uri(lang_url)
                    provider.Refresh()
                End If
            End If
        End If
    End Sub 

Language names and translated words are loaded dynamically from XML files.

languages.xml

 <?xml version="1.0" encoding="utf-8"?>
<languages>
<language nume="English" file="en.xml" imagine="England.png" />
<language nume="Româna" file="ro.xml" imagine="Romania.png" />
<language nume="Dutch" file="de.xml" imagine="Germany.png" />
</languages> 

en.xml

<?xml version="1.0" encoding="utf-8"?>
<language descriere="English" ietf="en-US" version="0.8.1">
  <resources>
        <resource nume="hi">Hello, this is a test message.</resource>
</resources>
</language>

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here