这篇文章介绍了ASP .网实现网网站本地化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
1、重写InitializeCulture方法。在Global.asax中的应用程序_开始请求获取或设置语言,每次页面的请求都首先运行这个方法,然后再运行具体页面的初始化文化重载方法。
附上一张图,看看页面方法和事件的执行顺序
受保护的重写void InitializeCulture()
{
字符串curCulture=请求查询字符串[当前区域性];
如果(!字符串IsNullOrEmpty(curCulture))
{
http cookie cookie=new http cookie( preferCulture ,curCulture);
饼干过期=日期时间今天。AddDays(7);
回应set cookie(曲奇);//设置饼干
线程当前线程。当前区域性=区域性信息.创建特定的区域性;
线程当前线程。CurrentUICulture=新文化信息;
}
其他
{
HttpCookie cookie=新请求cookie[ preferCulture ];//取得饼干
如果(曲奇!=空)
{
curCulture=cookie .价值。ToString();
线程当前线程。当前区域性=区域性信息.CreateSpecificCulture(curCulture);
线程当前线程。CurrentUICulture=新文化信息(curCulture);
}
}
}
除了通过工业管理学(工业工程)浏览器和线程获取语言设置,其实我们可以自己设置使用哪种语言。
1)通过在每个页面里的页节指定
%@页Culture= en-us ui Culture= en-us %
如上所设,该页将使用美国的语言设置。
注意:这只是个概要式写法,实际的页面中的页一般都包含更多的属性。
2)通过在网络。配置里的全球化节指定
system.web
全球化文化
/system.web
2、添加资源语言文件在项目应用程序_全球资源文件夹添加Demo.resx和Demo.en-us。雷克斯两个文件
在首页中添加:
a href=?currentculture=zh-cn rel=外部“不跟随”中文(中国)/a
a href=?当前文化=en-us rel=外部无跟随英语(美国)/a
3、获取全局资源(GlobalResources)的方式:你能从~ App _ global resources my messages。resx得到的资源通过:
1、产生的封装代码:
字符串消息=资源。我的消息。你好;
2、资源表达式
ASP:Label Text= % $ Resources:my messages,Hello % /
3、GetGlobalResourceObject方法
string message=GetGlobalResourceObject(我的消息,你好);
4、本地资源的获取方法:
你能从~ 应用程序本地资源默认。aspx。resx得到的资源通过:
1、资源表达式:
ASP:Label Text= % $ Resources:Hello % /
2、meta:resourceKey:
ASP:Label meta:resource key= Label resource key /
3、GetLocalResourceObject方法:
string message=GetLocalResourceObject( Hello );
到此这篇关于ASP .网实现网网站本地化的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。