首页 > 开发 > 综合 > 正文

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

2024-07-21 02:28:38
字体:
来源:转载
供稿:网友

需求:我们的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,那我的建议是,你还是自己先去尝试着做吧,我做好给你,你再看肯定没有你自己做一边效果来的好。

,欢迎访问网页设计爱好者web开发。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表