您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“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 得到的資源通過:
1、產生的封裝代碼 :
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"); "
讀到這里,這篇“ASP.NET如何實現Web網站本地化”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。