ASP.NET 中英文切换

ASP.NET 中英文切换

ASP.NET 2009-11-29 23:13:54 阅读订阅

1.本地化

(通过浏览器中 工具--选项--语言 来实现国际化)

实现过程:

* 首先在项目中添加ASP.NET文件夹[App_LocalResources]

* 新建资源文件(资源文件名称格式:"页面名称加后缀.resx")

* 资源文件内容例:

名称 值

ButtonResource1.Text 确定

* 页面上获取资源文件的值 语法为: meta:resourcekey="资源文件中key值"

例:<asp:Button runat="server" meta:resourcekey="ButtonResource1"></asp:Button>

* 在页面上page标签内加上UICulture="auto" 表示:自动识别浏览器语言

2.全球化

(可通过代码直接更改)

实现过程:

* 首先添加ASP.NET文件[App_GlobalResources]

* 新建资源文件名字(格式:"名称.resx")

* 资源文件与本地化建资源文件一样(名称Nation)

名称 值

li2 确定

* 重写InitializeCulture()方法

方法内容如下:

protected override void InitializeCulture()

{

//此currentculture来自default.aspx页面上两个超链接的链接地址,见html部分

string language = Request.QueryString["currentculture"];

if (!String.IsNullOrEmpty(language ))

{

//Nation - 决定了采用哪一种本地化资源,也就是使用哪种语言

//Culture - 决定各种数据类型是如何组织,如数字与日期

Thread.CurrentThread.CurrentUICulture = new CultureInfo(language );

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(language );

}

}

* 页面上获取资源文件的值 语法为:<%$ Resources: 资源文件名,key名称 %>

例:<asp:Button runat="server" Text="<%$ Resources: Nation,li2 %>" />

* 页面上超链接

<a href="?currentculture=zh-cn">中文(中国)</a>

<a href="?currentculture=en-us">English(USA)</a>

* 在页面上page标签内加上UICulture="auto" 表示:自动识别浏览器语言