Multiple language application with Asp.net 2.0
I tested the way to make a global application with Asp.net 2.0
Share it now and looking forward to receiving your feedback and directions.
1、Create the resource file in Resources folder
Japanese(SharedResource.ja.resx)
English(SharedResource.en-US.resx)
2、In Global.asax,
void Application_BeginRequest(object sender, EventArgs e)
{
if (Request.Params["Language"] != null)
{
if (Request.Params["Language"].ToString() == "jp")
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("ja");
}
else
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
}
}
else
{
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
}
}
{
if (Request.Params["Language"] != null)
{
if (Request.Params["Language"].ToString() == "jp")
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("ja");
}
else
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
}
}
else
{
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
}
}
you can see I used a parameter [Language] to swith to different language, certainly we can change the paremeter before
we post to server in aspx.
3、In aspx page_load
this.lbTop.Text = (string)GetAppResourceObject("SharedResource", "Top");
this.lbLogOff.Text = (string)GetAppResourceObject("SharedResource", "LogOff");
this.lbLogOff.Text = (string)GetAppResourceObject("SharedResource", "LogOff");
Use the method [GetAppResourceObject] we can get the string from resource file.