广

ASP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    编程使用资源文件实现多语言页面(In Action)

    2018-05-03 14:17:34 次阅读 稿源:互联网
    零七广告

      需求:我们的ASP.NET站点需要提供多语言支持,考虑到我们使用的是ASP.NET2.0,我们可以利用资源文件来实现。

       

      NOTE:这里我们使用编程的方法实现,使用其他方法,请参见:

      http://msdn2.microsoft.com/en-us/library/c6zyy3s9.aspx

       

      接下来我们演示一个简单的例子

      Steps:

       

      Step1:在Visual Studio2005中创建一个ASP.NET站点

      Step2:在网站项目中添加App_GlobalResources

      Note:这里我们使用全局资源文件作为演示,本地资源文件操作步骤类似,关于全局资源文件与本地资源文件的异同,请参见

      http://msdn2.microsoft.com/en-us/library/ms227427.aspx

      中Choosing Between Global and Local Resource Files这一段

      Step3:在App_GlobalResources中添加项,选择Resource File模板,取名为Site.resx

      Note:这是我们的默认语言资源文件,必须要有

      在这个资源文件的键/值配对中写入:

      Name : btnSubmitText

      Value: Submit

       

      Step4:增加我们需要的各种语言的资源文件,这里我们增加两个文件

      Site.zh-CN.resx

      在这个资源文件的键/值配对中写入:

      Name : btnSubmitText

      Value: 确定

      Site.en-US.resx

      在这个资源文件的键/值配对中写入:

      Name : btnSubmitText

      Value: Submit

       

      Note:这里给资源文件取名的时候,需要按照如下格式:

      [Class]. [Culture Name].resx

      比如说Site.zh-CN.resx

      关于Culture Name请参见MSDN中CultureInfo类中的Remarks部分

       

      Step5:在我们的Default页面中添加一个Button控件,ID为btnSubmit

      Step6:在我们的Default页面中添加两个Button控件,ID为btnChinese,btnEnglish,Text为中文,English

      在btnChinese的Click事件方法中,添加代码:

      
              Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");
              btnSubmit.Text = Resources.Site.btnSubmitText;

      
      在btnEnglish的Click事件方法中,添加代码:

      
              Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
              btnSubmit.Text = Resources.Site.btnSubmitText;

      Note:如果我们不在代码里指定当前线程的CurrentUICulture,那么程序就会根据浏览器中的设置进行判断,你可以在IE中的语言设置中进行默认设置。

       

      OK, 我们可以运行了。

      UAT就让大家来做吧,呵呵。不出所料,一切都如我们所预料的运行。

       

       

      By the way, 最近发的几篇文章难度都不是很高,其实重要的是告诉大家一种可以选择的方法,或是大家都不是很注意的一些知识点, 引导大家如果有需要继续去发掘,MSDN里有的内容,我就简要介绍或者直接给出链接,那样就不会显得文章庞大臃肿,让大家集中注意力在某一些点上。Enjoy it J

       

      PS:欢迎大家加我的MSN或者QQ讨论.NET 2.0(主要是C#2.0跟ASP.NET2.0吧)跟.NET3.0,发现我加入的几个QQ群都还挺少有人讨论这两个版本的内容的。还有一些朋友问我的很多问题,其实通过查找MSDN都可以找到答案跟示例,所以我的建议是,首先通过自己查找资料寻找解决方案。还有一些朋友直接向我要源码,或者说让我做一个MSDN示例里已经有代码的演示Project,那我的建议是,你还是自己先去尝试着做吧,我做好给你,你再看肯定没有你自己做一边效果来的好。

      http://www.cnblogs.com/wdxinren/archive/2006/09/07/497686.html

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告