ASP.NET實現(xiàn)Web網(wǎng)站本地化
1、重寫InitializeCulture方法。
在Global.asax中的Application_BeginRequest獲取或設(shè)置語言,每次頁面的請求都首先運行這個方法,然后再運行具體頁面的InitializeCulture重載方法。
附上一張圖,看看頁面方法和事件的執(zhí)行順序
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);//設(shè)置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瀏覽器和線程獲取語言設(shè)置,其實我們可以自己設(shè)置使用哪種語言。
1)通過在每個頁面里的Page節(jié)指定
<%@ Page Culture="en-us" UICulture="en-us" %>
如上所設(shè),該頁將使用en-us的語言設(shè)置。
注意:這只是個概要式寫法,實際的頁面中的Page一般都包含更多的屬性。
2)通過在Web.Config里的globalization節(jié)指定
<system.web> <globalization Culture="en-us" UICulture="en-us" /> </system.web>
2、添加資源語言文件
在項目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>
3、獲取全局資源(GlobalResources)的方式:
你能從 ~\App_GlobalResources\MyMessages.resx 得到的資源通過:
1、產(chǎn)生的封裝代碼 :
string message = Resources.MyMessages.Hello;
2、資源表達式
<asp:Label Text="<%$ Resources: MyMessages, Hello %>" />
3、GetGlobalResourceObject方法
string message = GetGlobalResourceObject("MyMessages", "Hello");
4、本地資源的獲取方法:
你能從 ~\App_LocalResources\default.aspx.resx 得到的資源通過:
1、資源表達式:
<asp:Label Text="<%$ Resources: Hello %>" />
2、meta:resourceKey :
<asp:Label meta:resourceKey="labelResourceKey" />
3、GetLocalResourceObject方法:
string message = GetLocalResourceObject("Hello"); "
到此這篇關(guān)于ASP.NET實現(xiàn)Web網(wǎng)站本地化的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
.net core部署到windows服務(wù)上的完整步驟
這篇文章主要給大家介紹了關(guān)于.net core部署到windows服務(wù)上的完整步驟,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用.net core具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09ASP.NET Core MVC通過IViewLocationExpander擴展視圖搜索路徑的實現(xiàn)
這篇文章主要介紹了ASP.NET Core MVC通過IViewLocationExpander擴展視圖搜索路徑的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04VS2015自帶LocalDB數(shù)據(jù)庫用法詳解
這篇文章主要為大家詳細介紹了VS2015自帶LocalDB數(shù)據(jù)庫的用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06ASP.NET實現(xiàn)用戶注冊和驗證功能(第4節(jié))
這篇文章主要介紹了ASP.NET實現(xiàn)用戶注冊和驗證功能,學(xué)習(xí)ASP.NET驗證控件的作用和使用方法,在此基礎(chǔ)上了解常用第三方控件,需要的朋友可以參考一下2015-08-08SignalR Self Host+MVC等多端消息推送服務(wù)(一)
這篇文章主要為大家詳細介紹了SignalR Self Host+MVC等多端消息推送服務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06ASP.NET?MVC實現(xiàn)登錄后跳轉(zhuǎn)到原界面
這篇文章介紹了ASP.NET?MVC實現(xiàn)登錄后跳轉(zhuǎn)到原界面的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09ASP.NET框架中的數(shù)據(jù)綁定概要與數(shù)據(jù)綁定表達式的使用
數(shù)據(jù)綁定是ASP.NET中操作數(shù)據(jù)的基礎(chǔ)方式,這里我們暫時拋開.NET提供的控件,來從基礎(chǔ)上講解ASP.NET框架中的數(shù)據(jù)綁定概要與數(shù)據(jù)綁定表達式的使用:2016-06-06詳解.NET Core 使用HttpClient SSL請求出錯的解決辦法
這篇文章主要介紹了.NET Core 使用HttpClient SSL請求出錯的解決辦法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03