当前位置:编程学习 > C#/ASP.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 区域性的资源时,就将访问这些资源。
补充:asp.net教程,基础入门 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,