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

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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

转载于:https://www.cnblogs.com/wdxinren/archive/2006/09/07/497686.html

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

  1. .NET资源文件实现多语言切换

    1.创建对应的资源文件 lang.en.resx  英文 lang.resx   中文,默认 lang.zh-tw.resx  繁体 首先说明,这三个文件前面部分名称需要一样,只是 点 后面的语言代号 ...

  2. 关于asp.net2.0资源文件本地化多语言版本的一些小技巧

    花了几个小时,把我的每天记帐的程序改成多语言版本的了~~~ Asp.net 2.0提供了本地化多语言版本的一些方便的特性,网上关于这个的文章已经很多了,我在此就不用多说拉,我只是说说,我在做的时候碰到 ...

  3. C语言如何编辑资源文件,用C语言做个简单的计算机,上面是代码,请教上资源文件在哪里编写,要新建什么文件...

    当前位置:我的异常网» C语言 » 用C语言做个简单的计算机,上面是代码,请教上资源 用C语言做个简单的计算机,上面是代码,请教上资源文件在哪里编写,要新建什么文件 www.myexceptions. ...

  4. 利用资源文件实现多语言的系统

    以前很少接触多语言的系统,公司里有个比较不错的portal项目, 我看了有实现多语言的功能, 了解了下它的基本原理:利用资源文件保存不同的语言内容:例如中文一个资源文件, 英文一个资源文件, 日文.. ...

  5. Visual C# 资源文件编程--使用资源文件

    本文将接着上篇文章的话题来探讨资源文件另外一个问题,在Visual C#如何使用资源文件.在上一篇文章中,我们已经成功的创建了一个名称为"My.resources"的资源文件.这个 ...

  6. Visual C# 资源文件编程--创建资源文件

    资源文件顾名思义就是存放资源的文件.资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用.同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在 ...

  7. JDBC编程——从属性资源文件中读取数据库的信息

    JDBC连接数据库(通过类加载的方式注册驱动) 从属性资源文件中读取数据库的信息,这里首先是给大家介绍一下注册驱动的另一种方式--通过类加载的方式注册驱动,这种方式也是程序员经常使用的一种,因为类加载 ...

  8. c语言编程读取bmp文件数据,c语言读取BMP图片的RGB数据

    BMP图片是位图(bitmap),一般未压缩,要读取BMP文件只要知道它的文件结构就可以了,具体格式可以百度或者google,就不多说了,几个重要的点在代码里面有注释. /** c语言读取位图信息 * ...

  9. qt中添加资源文件以及添加菜单图标、工具栏中菜单的快捷方式、窗口以及对话框的icon

    1.file--new-QT resource file,就会在工程中添加一个资源文件,然后单击Add下拉框,选择Add prefix,可以将生成的/new/prefix的后缀改为其他的名字,如fil ...

最新文章

  1. 中国女博士的「水淹食堂」大法:单目视频完美重建3D场景,画面毫无违和感...
  2. AI志愿超强攻略|中国高校AI专业最全院校排名课程对比(附链接)
  3. Android PhoneGap源码分析——白名单
  4. 特别推荐:15个精美 Metro UI 风格 WordPress 主题
  5. 信息检索及信息过滤方法概述
  6. Spark踩坑记——数据库(Hbase+Mysql)转
  7. 模仿JavaAppArguments.java示例
  8. Android开发(1) | Fragment 的应用——新闻应用
  9. Linux字符设备驱动剖析
  10. vscode写python_vscode如何编写python?
  11. 用xml文件保存系统设置
  12. matlab 省略号,matlab知识集锦 | 学步园
  13. if or函数套用_excel常用函数用法解析第二篇——SUMPRODUCT、AND、OR、IF函数
  14. 自动驾驶 2-4 环境表示 Environment Representation
  15. 几种将网站设为首页的代码
  16. 如何录用有竞业限制协议的员工?
  17. 单片机c语言编写从1到99程序,如何用用C语言编写的单片机来控制流水灯
  18. OA办公自动化系统作用
  19. oracle 数据库不用了,改用SQL,要学SQL了,第一个手工写的存储过程
  20. 推荐这3款图片流动特效神器,一键即可让照片“动”起来

热门文章

  1. 机器学习理论梳理2 : KNN K近邻分类模型
  2. 交换机的基本原理配置(一)
  3. Alictf 2015决赛题目设计和解题思路
  4. 浅谈PHP+Access数据库的连接 注意要点
  5. Java中抽象类和接口在概念、语法和应用上的区别和关系
  6. nodejs解析apk
  7. Openfire3.9.3源代码导入eclipse中开发配置指南(转载)
  8. Android 经典示例,初学者的绝好源码资料
  9. 袋装决策树_袋装树是每个数据科学家需要的机器学习算法
  10. leetcode162. 寻找峰值(二分法)