ASP.NET本地化

context.Request.UserLanguages(0) = lang
lang="zh-cn|zh-hk|en-us|..........."
 
App_LocalResources:
文件夹建立在与页面相同的位置下,
资源文件命名:
XXXXX.aspx.resx
XXXXX.aspx.zh-hk.resx
XXXXX.aspx.en-us.resx
需要一个没有语言的默认资源文件
 
App_GlobalResources
文件夹下的资源为整个应用程序共享,
语言版本的文件名可以自定义
可以用以下的方法获取对应的键值:
Public Shared Function GetGlobalResourceObject(ByVal classKey As String, ByVal resourceKey As String) As Object
classKey一般为资源文件名。
 
在Page中设置语言:

Protected Overrides Sub InitializeCulture()        
  If Request.Form("ListBox1") IsNot Nothing Then            
    Dim selectedLanguage As String = Request.Form("ListBox1")            
    UICulture = Request.Form("ListBox1")            
    Culture = Request.Form("ListBox1")            
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage)            
    Thread.CurrentThread.CurrentUICulture = New  CultureInfo(selectedLanguage)        
  End If        
  MyBase.InitializeCulture()    
End Sub

 

 

 

 

 

在HTTP 模块与 Global.asax的事件中可以设置:

context.Request.UserLanguages(0) = lang

 

 

 

posted @ 2010-04-05 17:33  liangzi.net  阅读(141)  评论(0编辑  收藏  举报