2022年c#本地化资源讲课稿.pdf
《2022年c#本地化资源讲课稿.pdf》由会员分享,可在线阅读,更多相关《2022年c#本地化资源讲课稿.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、c#本 地 化 资 源精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 17 页 - - - - - - - - - - c# 本地化 Windows 窗体Visual Studio 项目系统为本地化Windows 窗体应用程序提供相当大的支持。使项目系统为可本地化的用户界面元素(如窗体上的文本和图像)生成资源文件。然后将该资源文件生成到附属程序集中。添加一个资源文件模板对应着 XML 设计器编辑该模板。1.1 生成资源文件步骤:第一步:在“属性”窗口中,将窗体的 Localizable 属性设
2、置为 true。第二步:1)方式一:Language 属性已经设置为“(默认值 )”。 可以在下拉框中选择语言,例如:将该窗体的 Language 属性设置为“德语(德国)”。将该窗体的 Language 属性设置为“法语(法国)”。将窗体的 Language 属性设置为“简体中文”。将窗体的 Language属性设置为“英语”。生成解决方案,在对应的窗体目录下将生成对应的资源文件,例如:Form1.de-DE.resx 是在德国讲的德语的资源文件。Form1.fr-FR.resx 是在法国讲的法语的资源文件。Form1.zh-CHS.resx是简体中文。精品资料 - - - 欢迎下载 - -
3、 - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 17 页 - - - - - - - - - - Form1.en.resx是英语。2)方式二:1、复制对应窗体的默认的资源文件Form1.resx,如果需要生成对应的资源文件,需要修改复制的资源文件的名称,如果是简体中文的资源文件,则需要重命名为 Form1.zh-CHS.resx. 注意:对应不同的语言的资源文件一定要严格修改正确的名称,例如简体中文,只能是 Form1.zh-CHS.resx 。2、在对应的窗体下添加对应语言的资源文件。3)方式三:1、类似创建 Winform
4、窗体的方法,右击解决方案文件,在右键菜单中点击“添加 -新建项”,弹出对话框中,选择新建资源文件项。2、输入对应资源文件的名称如果是简体中文的资源文件,则需要重命名为Form1.zh-CHS.resx. 注意:对应不同的语言的资源文件一定要严格修改正确的名称,例如简体中文,只能是 Form1.zh-CHS.resx 。1.2 调用资源文件显示不同语言风格的窗体,需要访问对应语言的资源文件。代码如下:以下以调用法语资源文件为例进行说明。命名空间:using System.Globalization; using System.Threading; 调用函数:Thread.CurrentThrea
5、d.CurrentUICulture = new CultureInfo(fr-FR); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 17 页 - - - - - - - - - - 注意 :Windows 中使用的用户界面语言是“CurrentUICulture”设置的一种功能。如果您的 Windows 副本装有多语言用户界面包 (MUI) ,则可以在控制面板中更改用户界面语言。有关更多信息,请参阅 Windows Server 2003, Windows XP & Windows 20
6、00 MUI 站点。如果未安装 MUI ,则可以用编程方式更改当前的 UI 区域性,如下所述。对于窗体控件中调用资源文件方法中代码如下:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 17 页 - - - - - - - - - - 解析:此段调用窗体中控件资源,列举常用的控件,调用的资源与对应属性是Resources.ApplyResources ()函数,根据实际的窗体需要自己添加控件的资源。1.3 添加字符串资源在窗体中有时有些自定义的字符串资源,在访问这些字符串资源时,可以手动将这些自
7、定义资源添加到不同语言的资源文件中。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 17 页 - - - - - - - - - - 注意: 对于不同语言的资源文件访问同一自定义字符串,自定义字符串一定需要具有相同的名称。1.3.1调用字符串资源方法对于已经添加到资源文件中的字符串,在调用过程中需要实例化窗体或者用户控件的资源。 ComponentResourceManage resources = new componentResourceManager(typeof(XXX); 其中XXX
8、 为窗体类的名称,例如: public partial class MainFrm : Form ,XXX 即为MainFrm。调用字符串资源,使用代码如下:resources.GetString(XXX ),其中 xxx为添加字符串的名称。1.4 开发经验1) 生成资源文件在 1.1中介绍了两种生成的资源文件的方法,经过多次尝试,发现最好的办法是采用方案1。步骤如下:1、设计窗体的时候采用默认的语言,以下 winform 窗体为例,点击窗体或者用户控件,在对应属性框中设置language 、localizable 属性,如下图 1-1 所示精品资料 - - - 欢迎下载 - - - - -
9、- - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 17 页 - - - - - - - - - - 图 1-1 设置窗体的本地资源化注意: Localizable 属性值设置为: true ;在对应的 Designer文件中,会增加相应的代码,例如:resources .ApplyResources (this .label3 , label3 ); 作用:将控件与资源文件建立关系,它表示将根据具体的资源文件,来访问 label3 的属性。2、进行 winform 窗体的设计。3、设计完成之后,添加多语言版本的资源文件。例如,添加简体中文版本、英
10、文版本生成本地资源文件方式可以采用1.1的三种方式,经过多次开发,本人认为最好采用 1.1节中方式一,方式三。 对比方式一、方式三主要优点如下:方式一:当窗体改变大小时,可以直接在窗体修改,不需要修改对应的资源文件,便于修改。但是此种方法,偶尔加载资源文件没有成功,暂时还没有找到原因。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 17 页 - - - - - - - - - - 方式三:也是便于修改窗体的大小,布局,有时窗体中英文翻译的词条过长,之前窗体的布局会改变,那么只需要在窗体上直接修
11、改。,而不需要修改资源文件 2)获取当前开发的语言资源,例如是简体中文、还是英文等等在主窗体启动的代码之前,获取当前语言版本,例如当前运行的版本的中文或者英文等等。 3)获取当前语言的资源文件调用函数:Thread.CurrentThread.CurrentUICulture = new CultureInfo(fr-FR); 4)调用资源文件,这一步比较重要,参照1.2 可以实现,在开发过程中发现有更加简单的方法关键点:1、确定本地资源化 localizable 属性设置为 true。2、在主窗体实例化方法中,初始化各控件资源之前,获取当前语言,例如获取当前语言为英语,3、Thread.Cu
12、rrentThread.CurrentUICulture = new CultureInfo(en); 1.5 开发用例1.5.1 新建工程:步骤:第一步:启动 vs2012 第二步:点击“文件-新建-项目”。如下图1-2所示。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 17 页 - - - - - - - - - - 第三步:1、在弹出如下对话框,选择2、输入解决方案的名称为:test,点击按钮,选择位置信息。3、点击“确定”按钮,完成工程的创建。1.5.2 窗体设计精品资料 - - -
13、 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 17 页 - - - - - - - - - - 1、根据实际的需要,添加窗体的控件,对窗体以及控件进行布局,如下图:2、解决方案资源管理器如下图:观察 Form1.Designer.cs文件代码如下:/设计器支持所需的方法 - 不要/使用代码编辑器修改此方法的内容。/privatevoid InitializeComponent() this .label1 = new System .Windows .Forms .Label (); this .label2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 c# 本地化 资源 讲课
限制150内