本文小编为大家详细介绍“asp.net如何实现WEB网站本地化”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.net如何实现Web网站本地化”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、重写Initi
本文小编为大家详细介绍“asp.net如何实现WEB网站本地化”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.net如何实现Web网站本地化”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
在Global.asax中的Application_BeginRequest获取或设置语言,每次页面的请求都首先运行这个方法,然后再运行具体页面的InitializeCulture重载方法。
附上一张图,看看页面方法和事件的执行顺序
protected override void InitializeCulture(){ String curCulture = Request.QueryString["currentculture"]; if (!String.IsNullOrEmpty(curCulture)) { HttpCookie cookie = new HttpCookie("preferCulture", curCulture); cookie.Expires = DateTime.Today.ADDDays(7); Response.SetCookie(cookie);//设置Cookie Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(s); Thread.CurrentThread.CurrentUICulture = new CultureInfo(s); } else { HttpCookie cookie = new Request.Cookies["preferCulture"];//取得Cookie if (cookie != null) { curCulture = cookie.Value.ToString(); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(curCulture); Thread.CurrentThread.CurrentUICulture = new CultureInfo(curCulture); } }}
除了通过IE浏览器和线程获取语言设置,其实我们可以自己设置使用哪种语言。
1)通过在每个页面里的Page节指定
<%@ Page Culture="en-us" UICulture="en-us" %>
如上所设,该页将使用en-us的语言设置。
注意:这只是个概要式写法,实际的页面中的Page一般都包含更多的属性。
2)通过在Web.Config里的globalization节指定
<system.web><globalization Culture="en-us" UICulture="en-us" /></system.web>
在项目App_GlobalResource文件夹添加Demo.resx和Demo.en-us.rex两个文件
在首页中添加:
<a href="?currentculture=zh-cn" rel="external nofollow" >中文(中国)</a> <a href="?currentculture=en-us" rel="external nofollow" >English(USA)</a>
你能从 ~\App_GlobalResources\MyMessages.resx 得到的资源通过:
产生的封装代码 :
string message = Resources.MyMessages.Hello;
资源表达式
<asp:Label Text="<%$ Resources: MyMessages, Hello %>" />
GetGlobalResourceObject方法
string message = GetGlobalResourceObject("MyMessages", "Hello");
本地资源的获取方法:
你能从 ~\App_LocalResources\default.aspx.resx 得到的资源通过:
资源表达式:
<asp:Label Text="<%$ Resources: Hello %>" />
meta:resourceKey :
<asp:Label meta:resourceKey="labelResourceKey" />
GetLocalResourceObject方法:
string message = GetLocalResourceObject("Hello"); "
读到这里,这篇“ASP.NET如何实现Web网站本地化”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。
--结束END--
本文标题: ASP.NET如何实现Web网站本地化
本文链接: https://lsjlt.com/news/340898.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0