您的位置:首页 > 其它

WEB页面多语言支持解决方案(转自CSDN)

2005-01-27 13:55 597 查看
首先建立语言档,在项目中加入.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                  '英文  

 

这几个语言档吧,这是一个痛苦的回忆!  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: