ASP.NET WEB頁面多語言支持解決方案
發表于:2007-06-30來源:作者:點擊數:
標簽:
首先建立語言檔,在項目中加入.resx文件 例如: message.zh-cn.resx ‘’簡體中文 message.zh-tw.resx ‘’繁體中文 message.en ‘’英文 .............. ====================================================================== 然后利用Name --Value 鍵值
首先建立語言檔,在項目中加入.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 ‘’英文
這幾個語言檔吧,這是一個痛苦的回憶!
語言的后綴 如:
zh-cn‘’簡體中文
zh-tw‘’繁體中文
en ‘’英文
可以參考 IE選項---網際
網絡設定--〉一般選項卡語言--〉新增里邊的內容
原文轉自:http://www.kjueaiud.com