Attention: We are retiring the ASP.NET Community Blogs. Learn more >

Multi language supported web site in ASP.NET

It is easy to develop multi language supported web site using ASP.NET . Just follow that step by step.

  1. Take a new web site
  2. Add “App_GlobalResources” from ASP.NET folders
  3. Take a *.resx file (Strings.resx)
  4. Enter Name and values
  5. Make different *.resx file for different languages and name like that  Strings.en-US.resx (for US english), Strings.fr-FR.resx (for French). Make as many language file you needed.
  6. Now time for calling and using language from web page.

You web site Solution Explorer will look like that

globalization

 

Default.aspx file will look like that 

   1: <asp:Label ID="lblName" runat="server" Text="Label"></asp:Label>
   2: <asp:Label ID="lblDesc" runat="server" Text="Label"></asp:Label>
   3: <asp:Label ID="lblComments" runat="server" Text="Label"></asp:Label>
   4: <asp:LinkButton ID="lnkEnglish" runat="server" OnClick="lnkEnglish_Click">English</asp:LinkButton>
   5: <asp:LinkButton ID="lnkFrench" runat="server" OnClick="lnkFrench_Click">French</asp:LinkButton>

Codes of Default.aspx.cs

   1: private ResourceManager rm;
   2: protected void Page_Load(object sender, EventArgs e)
   3: {
   4:     CultureInfo ci;
   5:     if (!IsPostBack)
   6:     {
   7:         Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
   8:         rm = new ResourceManager("Resources.Strings", Assembly.Load("App_GlobalResources"));
   9:         ci = Thread.CurrentThread.CurrentCulture;LoadData(ci);
  10:     }
  11:     else
  12:     {
  13:         rm = new ResourceManager("Resources.Strings",Assembly.Load("App_GlobalResources"));
  14:         ci = Thread.CurrentThread.CurrentCulture;LoadData(ci);
  15:     }
  16: }
  17: protected void lnkEnglish_Click(object sender, EventArgs e)
  18: {
  19:     Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
  20:     LoadData(Thread.CurrentThread.CurrentCulture);
  21: }
  22: protected void lnkFrench_Click(object sender, EventArgs e)
  23: {
  24:     Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
  25:     LoadData(Thread.CurrentThread.CurrentCulture);
  26: }
  27: public void LoadData(CultureInfo ci)
  28: {
  29:     lblName.Text = rm.GetString("EventName", ci);
  30:     lblDesc.Text = rm.GetString("EventDescription", ci);
  31:     lblComments.Text = rm.GetString("EventComments",ci);
  32: }

3 Comments

Comments have been disabled for this content.