欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【编程使用资源文件实现多语言页面(In Action)】,下面是详细的分享!
编程使用资源文件实现多语言页面(In Action)
需求:我们的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里有的内容,我就简要介绍或者直接给出链接,那样就不会显得文章庞大臃肿,让大家集中注意力在某一些点上。
PS:欢迎大家加我的MSN或者QQ讨论.NET 2.0(主要是C#2.0跟ASP.NET2.0吧)跟.NET3.0,发现我加入的几个QQ群都还挺少有人讨论这两个版本的内容的。还有一些朋友问我的很多问题,其实通过查找MSDN都可以找到答案跟示例,所以我的建议是,首先通过自己查找资料寻找解决方案。还有一些朋友直接向我要源码,或者说让我做一个MSDN示例里已经有代码的演示Project,那我的建议是,你还是自己先去尝试着做吧,我做好给你,你再看肯定没有你自己做一边效果来的好。
以上所分享的是关于编程使用资源文件实现多语言页面(In Action),下面是编辑为你推荐的有价值的用户互动:
相关问题:多语言混合编程
答:起始所有程序都是一样的,最终都是机器码,只是在编写时使用的语言不同(编程语言都是程序的抽象,为了编程方便,本身并不是可运行的程序,最终必须编译成机器码才能运行,不同语言只是不同人编的,用的语法不同),你写的源文件无论是任何语言... >>详细
相关问题:java中如何实现多语言切换
答:一、国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。国际化(internationalization)又称为 i18n(读法为i 18 n,据说是因为inte... >>详细
相关问题:怎么添加多一个语言的网站?
答:多语言网站,顾名思义就是能够以多种语言(而不是单种语言)为用户提供信息服务,让使用不同语言的用户都能够从同个网站获得内容相同的信息。 多语言网站实现方案 1,静态:就是为每种语言分别准备一套页面文件,要么通过文件后缀名来区分不同语... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
