在開發的過程很多項目需要實現多語言,特別是外企中開發的系統一般都是好幾個語言的版本,我們以前開發項目時也需要實現多語言的功能
因此我們寫了個Page類的擴充類,讓每一個要實現多語言的頁面都繼承它。該類的實現如下:
/// <summary>
/// Summary description for WebPageBase
/// </summary>
public class WebPageBase : System.Web.UI.Page
{
public WebPageBase()
{
}
protected override void InitializeCulture()
{
//設定初始的語言為日文
string lang="ja-JP";
if (!string.IsNullOrEmpty(Convert.ToString(Request["Lang"])))
{
lang = Convert.ToString(Context.Session["lang"]);
Lang = lang;
}
else
{
lang = Convert.ToString(Context.Session["lang"]);
Lang = lang;
}
// Culture 屬性用於協助本地化頁內容。可以將其設定為任何有效地區性 ID。
//例如,en-us 地區性 ID 將頁設定為美國英語,而 fr 地區性 ID 將頁設定為法語。
//還可以將該值 設定為 auto,從而自動檢測瀏覽器的慣用語言並設定該語言。可
//以用預設值(如 auto:en-us)限定自動語言偵測。
UICulture = lang;
Culture = "";
base.InitializeCulture();
}
protected string Lang
{
get { return Convert.ToString(Context.Session["lang"]); }
set { Context.Session["lang"] = value; }
}
}
這個類的代碼就這麼簡單,想要實現多語言的頁面繼承它即可。