这篇文章介绍了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 .网实现网网站本地化的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。