ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> .NET技术
.NET Framework 中多语言支持的实现
前言

曾经记得在 win32 的原生代码编程时代,为实现一个多语言界面而绞尽脑汁,因此出现了大量的教程都是教你如何让程序实现多语言支持,这些实现方法的技术水平参差不齐,很难找到好的框架实现在商业程序中。.NET 时代的到来,我们突然发现这一切变得那么简单,你只需轻松点击鼠标就可以让你的程序完美实现多语言支持。

我不想在这里过多的解释文中出现的概念,因为 MSDN 已经为我们提供了完全本地化的技术文档。



正文

我用的是 Visual Studio 2003 中的 Visual C#.NET 来实现的,我设计的这个 Demo 不仅可以自动根据当前区域设置进行本地化的实现,还可以手动更改界面语言,并且实现自定义资源的本地化。 Demo 源码这里下载。

请跟随我的步骤来完成:

创建名为“MultiLanguage”的新 Windows 应用程序。

在“属性”窗口中,将窗体的 Localizable 属性设置为 true。

Language 属性已经设置为 (Default)。

将 MainMenu、PictureBox、Button 控件从“工具箱”的“Windows 窗体”选项卡拖到窗体上,然后按照我在 Demo 窗体中对这些控件的布局、设计进行设置。

将该窗体的 Language 属性设置为“中文(中华人民共和国)”。

重新按照我在 Demo 窗体中对这些控件的中文界面的布局、设计进行设置。

单击解决方案资源管理器中的“显示所有文件”按钮。

资源文件出现在 Form1.cs 的下面。Form1.resx 是后备区域性的资源文件,它将生成到主程序集中。Form1.zh-CN.resx 是在中国讲的简体中文的资源文件。

分别生成菜单项的 Click 事件,按照我在 Demo 中的实现代码添加到事件处理部分。

大家主要学习我是如何动态修改界面上所有跟语言相关的元素,包括字符串、对象(例如PictureBox.Image)。

在“项目”菜单上单击“添加新项”。

在“模板”框中选择“程序集资源文件”模板。在“名称”框中键入文件名“WinFormStrings.resx”。WinFormStrings.resx 文件将包含英语的后备资源。每当应用程序找不到更适合于 UI 区域性的资源时,就将访问这些资源。

该文件被添加到解决方案资源管理器中的项目中,并自动在 XML 设计器中以“数据”视图形式打开。

在“数据表”窗格中选择“data”。

在“数据”窗格中,单击空行,并在“name”列中输入“strMessage”,在“value”列中输入“Hello World”。

在“文件”菜单上,单击“保存 WinFormStrings.resx”。

再执行两次步骤 8-12 以创建一个名为“WinFormStrings.zh-CN.resx”的资源文件,并且这个文件具有在下表中指定的字符串资源。WinFormStrings.zh-CN.resx 文件将包含特定于在中国讲的简体中文的资源。

资源文件名 name value

WinFormStrings.zh-CN.resx strMessage 你好!世界



生成 Button1 的 Click 事件,按照我在 Demo 中的实现代码添加到事件处理部分。

这部分大家主要学习如何访问手动添加的资源,其目的是为了在你以后编程时生成在对话框和错误信息中出现的可本地化字符串。

添加构造函数 Form1() 的代码,按照我在 Demo 中的代码进行添加。

保存和生成解决方案。

编译并试着运行。

我是用 Release 模式进行编译的,在项目目录的 MultiLanguageinRelease 下会生成两个子目录“zh-CHS”、“zh-CN”,里面都有一个叫“MultiLanguage.resources.dll”的文件,分别对应你在窗体中设计的后备区域性的资源文件。发布时请随最后的编译程序一起发布,不要改变 Bin 目录下的任何目录设置,.NET Framework 会根据一定规律进行本地化实现,原理请参考 MSDN 相应章节。



参考

MSDN Feb 2003 简体中文版。具体参见

ms-help://MS.MSDNQTR.2003FEB.2052/vbcon/html/vbwlkWalkthroughLocalizingWindowsForms.htm

 
 
本站关键词:
| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|| 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀常平镇 桥头镇 横沥镇|东坑镇 企石镇 石排镇|茶山镇 莞城 东城|万江 南城|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有