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

需求:我们的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请参见MSDNCultureInfo类中的Remarks部分

 

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

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

btnChineseClick事件方法中,添加代码:

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

btnEnglishClick事件方法中,添加代码:

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

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

 

OK, 我们可以运行了。

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

 

 

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

 

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java final内存机制_Java中的内存处理机制和final、static、final static总结

装载自&#xff1a;http://blog.csdn.net/wqthaha/article/details/20923579Java程序运行在JVM上&#xff0c;可以把JVM理解成Java程序和操作系统之间的桥梁&#xff0c;JVM实现了Java的平台无关性&#xff0c;由此可见JVM的重要性。所以在学习Java内存分配原理的时候一定要牢记…

MySQL中的字符集涵义及使用方法总结(二)

五.乱码的避免最好让上述9个字符集变量值保持一致&#xff0c;或者至少“兼容”&#xff0c;同时也要考虑到OS中locale的值。当然&#xff1a;character_set_system例外&#xff0c;它是存储和表示元信息使用的字符集&#xff0c;一般都是ascii串&#xff0c;使用utf8和使用lat…

vim 多行添加注释,取消注释

转发 已经验证 https://blog.csdn.net/SuiXin_123/article/details/81393397转载于:https://www.cnblogs.com/pingg/p/10509301.html

调用未知DLL中的导出函数

不知道诸位看官是否有过这样的经历&#xff1a;在不经意之间发现一个DLL文件&#xff0c;它里边有不少有趣的导出函数——但是由于你不知道如何调用这些函数&#xff0c;所以只能大发感慨而又无能为力焉。固然有些知名的DLL可以直接通过搜索引擎来找到它的使用方式&#xff08;…

构建之法与博客首秀

问题一&#xff1a;软件的安全功能是指什么呢&#xff1f; 我看了《构建之法》第七页对飞机安全功能的的描述&#xff0c;想知道在软件中是否有类似飞机的安全功能&#xff1f;如果有&#xff0c;具体是指什么功能呢&#xff1f;我在查阅资料后只找到对软件安全的的总结(软件安…

java接口import_深入理解Java架构师在组件注册@Import导入容器(ImportSelector接口)的神操作!...

ImportSelector&#xff1a;返回需要导入的组件的全类名数组创建一个实现了ImportSelector接口的类&#xff0c;然后让入Import中。ImportSelector的实现类包含了所有需要导入到容器中的组件。public class StuConfigurationImportSerlect implements ImportSelector {Override…

java builder pool_每周10道Java面试题:String, String Pool, StringBuilder

每周10道 Java 面试题由 ImportNew 整理编译自网络。1. 写出下面代码的运行结果。int src 65536;Integer dst new Integer(65536);System.out.println(src dst);System.out.println(dst.equals(src));答案&#xff1a; true true考点&#xff1a; Integer 的 equals 实现。查…

将字符串中的字符按Z字形排列,按行输出

示例1&#xff1a; Input: s "PAYPALISHIRING", numRows 3 Output: "PAHNAPLSIIGYIR" 示例2&#xff1a; Python解决方案&#xff1a; def convert(self, s, numRows):""":type s: str:type numRows: int:rtype: str"""…

大型网络架构变迁和知识图谱

——仅供个人学习使用&#xff0c;如有侵犯版权&#xff0c;请作者联系我&#xff0c;立马处理。 【前端页面缓存】 sessionStorage,localStorage,userData,cookie, [sessionStorage] h5后出现的新技术&#xff0c;这个生命周期短&#xff0c;当页面关闭后&#xff0c;存储资源…

H265摄像头如何实现网页直播

介绍 目前安防监控行业&#xff0c;基本所有的摄像头都支持H264编码&#xff0c;但是已经有部分摄像头开始支持H265&#xff0c;并且支持H265的摄像机已经越来越多。H265相比H264有着很多优势&#xff0c;是压缩更高&#xff0c;网络传输消耗的带宽更小&#xff0c;相同码率下H…

【Python selenium自动化环境配置】4步搞定ChromeDriver版本选择

很多刚做自动化的小伙伴&#xff0c;会在ChromeDriver版本选择时犯难&#xff0c;看来大家都被坑过&#xff0c;真正掌握独门绝技&#xff0c;都不是难事儿。 看好了主要步骤就4部 1、确定谷歌浏览器版本 2、找到谷歌浏览器版本与ChromeDriver版本对应关系 3、下载ChromeDriver…

[贴图]TVB香港大部分演员照片、姓名(值得收藏)

转载于:https://www.cnblogs.com/chinhr/archive/2006/11/15/561101.html

我的世界java笔刷指令_《我的世界》基本笔刷教程

《我的世界》是一款3D的第一人称沙盘游戏&#xff0c;所呈现的世界并不是华丽的画面与特效&#xff0c;而是注重在游戏性上面。玩家在游戏中做着建设与破坏两件事&#xff0c;但是透过像乐高一样的积木来组合与拼凑&#xff0c;轻而易举的就能制作出小木屋、城堡甚至城市&#…

idea创建springcloud主工程和springboot子项目

创建主工程&#xff0c;选择file-new-project&#xff0c;选择maven,直接next 填写GroupId包名,ArtifactId项目名&#xff0c;next-finish 创建子项目springboot&#xff0c;项目右击-new-module-Spring Initializr-->next 填写项目相关信息&#xff0c;next 选择Clou…

小程序实现无限瀑布流

实现瀑布流 实现效果 有好几种方案 1.用column-count属性把页面元素分为俩列或多列来实现 2.用display flex 分列来展示页面 3.比如说用js实现 我今天介绍的就是第三种&#xff0c;因为前两种都会有局限&#xff0c;实现的效果我们希望是左右左右&#xff0c;而不是分成两列去显…

python canny检测_【数字图像分析】基于Python实现 Canny Edge Detection(Canny 边缘检测算法)...

Canny 边缘检测算法Steps:高斯滤波平滑计算梯度大小和方向非极大值抑制双阈值检测和连接代码结构&#xff1a;Canny Edge Detection|Gaussian_Smoothing||convolution.py|||convolution()||gaussion_smoothing.py|||dnorm()|||gaussian_kernel()|||gaussian_blur()|Sobel_Filte…

java 拖放文字_myeclipse2014如何实现jsp中的html代码的文字拖放

本帖最后由 liyihongcug 于 2015-3-5 16:53 编辑把 jsp打开 (visual jsp editor)之后上班区 单击右键 show --- pallette就可以了感叹myeclipse确实强大的 标签技术强于.net mvc强。vs2013能实现iis无需安装的情况下 动态指定 某个页面为首选 启动 --------------------希望2…

因缺思厅的绕过

看一下页面源码&#xff0c;看到source.txt。所以进入同目录下的source.txt 代码审计下&#xff0c;并且百度了一些函数。过滤了很多关键字&#xff0c;因此常规的SQL注入没有头绪。想了挺久&#xff0c;因为要满足三个条件。1&#xff1a;不能输入过滤的关键字2&#xff1a;只…

Python自制微信机器人:群发消息、自动接收好友

运营公众号也有半年了&#xff0c;今年5月份开始的&#xff0c;之前一直用一款windows工具来运营自动接受好友请求、群发文章、自动回复等操作&#xff0c;但颇有不便。 举几个场景&#xff1a; 突然在外面看到一篇文章很好&#xff0c;临时写了一篇&#xff0c;想群发一下。好…

记一次webpack4+react+antd项目优化打包文件体积的过程

背景 最近自己整了一个基于webpack4和react开发的博客demo项目&#xff0c;一路整下来磕磕碰碰但也实现了功能&#xff0c;就准备发到阿里云上面去看看&#xff0c;借用了同事的阿里云小水管服务器&#xff0c;配置完成之后首页加载花了十几秒&#xff0c;打开控制台network查看…