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

標題是

標題是

2016-02-19 17:57

有了下面这个编程使用资源文件实现多语言页面(In Action)教程,不懂编程使用资源文件实现多语言页面(In Action)的也能装懂了,赶紧get起来装逼一下吧!

  需求:我们的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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  Value: Submit

   

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

  Site.zh-CN.resx

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

  Name : btnSubmitText

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  Value: 确定

  Site.en-US.resx

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

  Name : btnSubmitText

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  Value: Submit

   

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

  [Class]. [Culture Name].resx

  比如说Site.zh-CN.resx

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  关于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

展开更多 50%)
分享

猜你喜欢

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

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

C#的Windows编程中多语言的实现

编程语言 网络编程
C#的Windows编程中多语言的实现

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ASP实现多语言支持

ASP
ASP实现多语言支持

用VC实现支持多语言的程序

C语言教程 C语言函数
用VC实现支持多语言的程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

WEB页面多语言支持解决方案

Web开发
WEB页面多语言支持解决方案

Delphi中使用资源文件

编程语言 网络编程
Delphi中使用资源文件

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

setMinutes 方法

setMinutes 方法

atEnd 方法

atEnd 方法
下拉加载更多内容 ↓