日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

ASP.NET實現(xiàn)Web網(wǎng)站本地化_實用技巧

作者:springsnow ? 更新時間: 2022-08-06 編程語言

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"  >中文(中國)</a>
?
<a href="?currentculture=en-us"  >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"); "

原文鏈接:https://www.cnblogs.com/springsnow/p/13306372.html

欄目分類
最近更新