ASP.NET 中英文切换
ASP.NET 中英文切换
ASP.NET 2009-11-29 23:13:54 阅读197 评论0 字号:大中小 订阅
1.本地化
(通过浏览器中 工具--选项--语言 来实现国际化)
实现过程:
* 首先在项目中添加ASP.NET文件夹[App_LocalResources]
* 新建资源文件(资源文件名称格式:"页面名称加后缀.resx")
* 资源文件内容例:
名称 值
ButtonResource1.Text 确定
* 页面上获取资源文件的值 语法为: meta:resourcekey="资源文件中key值"
例:<asp:Button ID="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 ID="Button1" runat="server" Text="<%$ Resources: Nation,li2 %>" />
* 页面上超链接
<a href="?currentculture=zh-cn">中文(中国)</a>
<a href="?currentculture=en-us">English(USA)</a>
* 在页面上page标签内加上UICulture="auto" 表示:自动识别浏览器语言