在开发的过程很多项目需要实现多语言,特别是外企中开发的系统一般都是好几个语言的版本,我们以前开发项目时也需要实现多语言的功能
因此我们写了个Page类的扩展类,让每一个要实现多语言的页面都继承它。该类的实现如下:
/// <summary>
/// Summary description for WebPageBase
/// </summary>
public class WebPageBase : System.Web.UI.Page
{
public WebPageBase()
{
}
protected override void InitializeCulture()
{
//设置初始的语言为日文
string lang="ja-JP";
if (!string.IsNullOrEmpty(Convert.ToString(Request["Lang"])))
{
lang = Convert.ToString(Context.Session["lang"]);
Lang = lang;
}
else
{
lang = Convert.ToString(Context.Session["lang"]);
Lang = lang;
}
// Culture 属性用于帮助本地化页内容。可以将其设置为任何有效的区域性 ID。
//例如,en-us 区域性 ID 将页设置为美国英语,而 fr 区域性 ID 将页设置为法语。
//还可以将该值 设置为 auto,从而自动检测浏览器的首选语言并设置该语言。可
//以用默认值(如 auto:en-us)限定自动语言检测。
UICulture = lang;
Culture = "";
base.InitializeCulture();
}
protected string Lang
{
get { return Convert.ToString(Context.Session["lang"]); }
set { Context.Session["lang"] = value; }
}
}
这个类的代码就这么简单,想要实现多语言的页面继承它即可。