WEB页面多语言支持解决方案(转自CSDN)
生活随笔
收集整理的這篇文章主要介紹了
WEB页面多语言支持解决方案(转自CSDN)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先建立語言檔,在項目中加入.resx文件 ?
例如: ?
message.zh-cn.resx ?'簡體中文 ?
message.zh-tw.resx ?'繁體中文 ?
message.en ? ? ? ? ? ? ? ? ?'英文 ?
.............. ?
?
====================================================================== ?
然后利用Name ?--Value ?鍵值對 ?填入你要在頁面上顯示的語言 ?
如: ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?value ? ?
message.zh-cn.resx中: ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?res_loginbname ? ? ? ? ? ? ? ? ? ? ? ?登陸名 ?: ?
message.zh-tw.resx中: ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?res_loginbname ? ? ? ? ? ? ? ? ? ? ? ?登陸名 ?: ?
message.zh-cn.resx中: ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?res_loginbname ? ? ? ? ? ? ? ? ? ? ? ?Login ?Name ?: ?
?
?
?
====================================================================== ?
然后在Golbal.asax中加入多語言設定支持代碼(瀏覽器需要支持Cookie) ?
?
? ? ? ?'============================================================================================= ?
? ? ? ?' ?Application_BeginRequest ?Event ?
? ? ? ?' ?
? ? ? ?' ?The ?Application_BeginRequest ?method ?is ?an ?ASP.NET ?event ?that ?executes ? ?
? ? ? ?' ?on ?each ?web ?request ?into ?the ?portal ?application. ? ? ?
? ? ? ?' ?
? ? ? ?' ?The ?thread ?culture ?is ?set ?for ?each ?request ?using ?the ?language ?
? ? ? ?' ?settings ? ?
? ? ? ?' ? ?
? ? ? ?'============================================================================================= ?
? ? ? ?Sub ?Application_BeginRequest(ByVal ?sender ?As ?Object, ?ByVal ?e ?As ?EventArgs) ?
? ? ? ? ? ? ? ?Try ?
? ? ? ? ? ? ? ? ? ? ? ?If ?Not ?Request.Cookies("resource") ?Is ?Nothing ?Or ?Request.Cookies("resource").Value ?= ?"" ?Then ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Thread.CurrentThread.CurrentCulture ?= ?CultureInfo.CreateSpecificCulture(Request.Cookies("resource").Value) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ?Else ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Thread.CurrentThread.CurrentCulture ?= ?New ?CultureInfo(ConfigurationSettings.AppSettings("DefaultCulture")) ?
? ? ? ? ? ? ? ? ? ? ? ?End ?If ?
? ? ? ? ? ? ? ? ? ? ? ?Thread.CurrentThread.CurrentUICulture ?= ?Thread.CurrentThread.CurrentCulture ?
? ? ? ? ? ? ? ?Catch ?ex ?As ?Exception ?
? ? ? ? ? ? ? ? ? ? ? ?Thread.CurrentThread.CurrentCulture ?= ?New ?CultureInfo(ConfigurationSettings.AppSettings("DefaultCulture")) ?
? ? ? ? ? ? ? ?End ?Try ?
? ? ? ?End ?Sub ?'Application_BeginRequest ?
?
在Web.Config中加入如下代碼,用于設定編碼和默認語種,在Global.asax中有調用: ?
?
====================================================================== ?
? ? ? ?<globalization ?requestEncoding="utf-8" ?responseEncoding="utf-8" ?/> ?
? ? ? ? ? ? ? ?<appSettings> ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<add ?key="DefaultCulture" ?value="zh-cn" ?/> ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<!-- ? ? ?zh-cn:簡體中文 ?zh-tw:繁體中文 ?en:英文 ? ? ? ?--> ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ?</appSettings> ?
?
?
?
====================================================================== ?
頁面代碼中使用多語言支持: ?
?
Imports ?System.Resources ?
?
Public ?Class ?類名 ?
? ? ? ?Inherits ?System.Web.UI.Page ?
? ? ? ?Protected ?LocRM ?As ?ResourceManager ?= ?New ?ResourceManager("項目文件名.message", ?GetType(類名).Assembly) ?
?
? ? ? ?Private ?Sub ?Page_Load(ByVal ?sender ?As ?System.Object, ?ByVal ?e ?As ?System.EventArgs) ?Handles ?MyBase.Load ?
? ? ? ? ? ? ? ?lblLogin.Text ?= ?LocRM.GetString("res_login") ?
? ? ? ?End ?Sub ?
End ?Class ?
?
?
====================================================================== ?
?
到這里多語言支持的工作就作完了,接下來自己去慢慢Key ?
message.zh-cn.resx ?'簡體中文 ?
message.zh-tw.resx ?'繁體中文 ?
message.en ? ? ? ? ? ? ? ? ?'英文 ?
?
這幾個語言檔吧,這是一個痛苦的回憶!??
例如: ?
message.zh-cn.resx ?'簡體中文 ?
message.zh-tw.resx ?'繁體中文 ?
message.en ? ? ? ? ? ? ? ? ?'英文 ?
.............. ?
?
====================================================================== ?
然后利用Name ?--Value ?鍵值對 ?填入你要在頁面上顯示的語言 ?
如: ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?value ? ?
message.zh-cn.resx中: ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?res_loginbname ? ? ? ? ? ? ? ? ? ? ? ?登陸名 ?: ?
message.zh-tw.resx中: ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?res_loginbname ? ? ? ? ? ? ? ? ? ? ? ?登陸名 ?: ?
message.zh-cn.resx中: ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?res_loginbname ? ? ? ? ? ? ? ? ? ? ? ?Login ?Name ?: ?
?
?
?
====================================================================== ?
然后在Golbal.asax中加入多語言設定支持代碼(瀏覽器需要支持Cookie) ?
?
? ? ? ?'============================================================================================= ?
? ? ? ?' ?Application_BeginRequest ?Event ?
? ? ? ?' ?
? ? ? ?' ?The ?Application_BeginRequest ?method ?is ?an ?ASP.NET ?event ?that ?executes ? ?
? ? ? ?' ?on ?each ?web ?request ?into ?the ?portal ?application. ? ? ?
? ? ? ?' ?
? ? ? ?' ?The ?thread ?culture ?is ?set ?for ?each ?request ?using ?the ?language ?
? ? ? ?' ?settings ? ?
? ? ? ?' ? ?
? ? ? ?'============================================================================================= ?
? ? ? ?Sub ?Application_BeginRequest(ByVal ?sender ?As ?Object, ?ByVal ?e ?As ?EventArgs) ?
? ? ? ? ? ? ? ?Try ?
? ? ? ? ? ? ? ? ? ? ? ?If ?Not ?Request.Cookies("resource") ?Is ?Nothing ?Or ?Request.Cookies("resource").Value ?= ?"" ?Then ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Thread.CurrentThread.CurrentCulture ?= ?CultureInfo.CreateSpecificCulture(Request.Cookies("resource").Value) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ?Else ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Thread.CurrentThread.CurrentCulture ?= ?New ?CultureInfo(ConfigurationSettings.AppSettings("DefaultCulture")) ?
? ? ? ? ? ? ? ? ? ? ? ?End ?If ?
? ? ? ? ? ? ? ? ? ? ? ?Thread.CurrentThread.CurrentUICulture ?= ?Thread.CurrentThread.CurrentCulture ?
? ? ? ? ? ? ? ?Catch ?ex ?As ?Exception ?
? ? ? ? ? ? ? ? ? ? ? ?Thread.CurrentThread.CurrentCulture ?= ?New ?CultureInfo(ConfigurationSettings.AppSettings("DefaultCulture")) ?
? ? ? ? ? ? ? ?End ?Try ?
? ? ? ?End ?Sub ?'Application_BeginRequest ?
?
在Web.Config中加入如下代碼,用于設定編碼和默認語種,在Global.asax中有調用: ?
?
====================================================================== ?
? ? ? ?<globalization ?requestEncoding="utf-8" ?responseEncoding="utf-8" ?/> ?
? ? ? ? ? ? ? ?<appSettings> ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<add ?key="DefaultCulture" ?value="zh-cn" ?/> ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<!-- ? ? ?zh-cn:簡體中文 ?zh-tw:繁體中文 ?en:英文 ? ? ? ?--> ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ?</appSettings> ?
?
?
?
====================================================================== ?
頁面代碼中使用多語言支持: ?
?
Imports ?System.Resources ?
?
Public ?Class ?類名 ?
? ? ? ?Inherits ?System.Web.UI.Page ?
? ? ? ?Protected ?LocRM ?As ?ResourceManager ?= ?New ?ResourceManager("項目文件名.message", ?GetType(類名).Assembly) ?
?
? ? ? ?Private ?Sub ?Page_Load(ByVal ?sender ?As ?System.Object, ?ByVal ?e ?As ?System.EventArgs) ?Handles ?MyBase.Load ?
? ? ? ? ? ? ? ?lblLogin.Text ?= ?LocRM.GetString("res_login") ?
? ? ? ?End ?Sub ?
End ?Class ?
?
?
====================================================================== ?
?
到這里多語言支持的工作就作完了,接下來自己去慢慢Key ?
message.zh-cn.resx ?'簡體中文 ?
message.zh-tw.resx ?'繁體中文 ?
message.en ? ? ? ? ? ? ? ? ?'英文 ?
?
這幾個語言檔吧,這是一個痛苦的回憶!??
轉載于:https://www.cnblogs.com/acelove/archive/2005/01/27/98191.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的WEB页面多语言支持解决方案(转自CSDN)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对于初学者学习Java语言的建议(转载)
- 下一篇: Enterprise Library: