multi language Website configuration

i have list box that contain a group of different language :

  <%@ Page Language="C#" uiculture="auto" %>
  <%@ Import Namespace="System.Threading" %>
  <%@ Import Namespace="System.Globalization" %>
 <script runat="server">
 protected override void InitializeCulture()
{
if (Request.Form["ListBox1"] != null)
{
    String selectedLanguage = Request.Form["ListBox1"];
    UICulture = selectedLanguage ;
    Culture = selectedLanguage ;

    Thread.CurrentThread.CurrentCulture = 
        CultureInfo.CreateSpecificCulture(selectedLanguage);
    Thread.CurrentThread.CurrentUICulture = new 
        CultureInfo(selectedLanguage);
}
base.InitializeCulture();
}
</script>
<html>
 <head><title>Set Culture</title></head>
<body>
<form id="form1" runat="server">
<div>
    <asp:ListBox ID="ListBox1" runat="server">
        <asp:ListItem Value="en-US" Selected="True">English</asp:ListItem>
        <asp:ListItem Value="es-MX">Español</asp:ListItem>
        <asp:ListItem Value="de-DE">Deutsch</asp:ListItem>
    </asp:ListBox>
    <br />
    <asp:Button ID="Button1" runat="server" Text="Set Language"  />
    <br />
    <asp:Label ID="Label1" runat="server" Text="my name is"  />

  </div>
</form>
 </body>
  </html>

I want when i choose a language from my listbox the label text will be translated for the chosen language for example if i choose Español "my name is " will be translated to Español language and displayed to the screen

Upvotes: 1

Views: 1389

Answers (3)

Imran Rizvi
Imran Rizvi

Reputation: 7438

Write the following line of code in selectedIndexChanged event of ListBox

Thread.CurrentThread.CurrentUICulture = new CultureInfo(selectedLanguageCode);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguageCode);

selectedLanguageCode is something specify for each culture e.g. for US english en-US etc..

Upvotes: 1

levi
levi

Reputation: 3511

You should implement this

 protected override void InitializeCulture()

on every page you need multi languages. I usually make a class where override it and derive other multi language supported pages from that one. you will also need to use coockies. coockies["lang"] = "en-US" - something like this to manage languages.

Upvotes: 0

npinti
npinti

Reputation: 52185

You will need to remove the hard coded string and start using Resource files. I recommend you take a look at this tutorial for a complete guide on how to develop a multi-lingual website.

Upvotes: 1

Related Questions