winform 不同语言(中文,英文等)

本文介绍了使用Visual Studio实现.NET程序本地化的步骤,包括窗体和资源的本地化。通过设置窗体的Localizable属性,生成不同语言的资源文件,如Form1.resx和Form1.en-US.resx,实现中文和英文的切换。同时,通过设置CultureInfo来管理程序的语言显示,方便在单台电脑上测试不同语言环境。
摘要由CSDN通过智能技术生成

Visual Studio 对于.NET 程序的本地化提供了完整的支持,这里仅介绍实现多语言版本本地化程序的简单步骤.
注意黑体处为关键点.
窗体本地化
   对于Windows 窗体,你需要做的第一步是确定你的默认界面语言,默认语言是指当执行程序无法找到已定义的本地化资源时,默认使用的语言,由于.net使用utf-8作为默认编码,一般情况下在任何语言的系统上都能正常显示.
本地化窗体一个关键的步骤是将窗体的本地化属性(Localizable)设置为True,此时窗体代码中自动生成的代码部分的字符串(Text属性)将由原来的"this.Text = Form1"变为resources.ApplyResources(this, "$this")",并且窗体文件名下面会多出一个资源文件"Form1.resx",双击该资源文件可以看到字符串已经生成为资源了
像往常一样在窗体上加入你需要的控件,并设置好属性,控件的Text属性同样会自动生成为资源(双击Form1.resx看看吧~),简单吧,我们来看下一步,本地化窗体.
下面我们来添加英语环境下的窗体.在窗体属性窗口中找到Language属性(挨着Localizable),选择"英语(美国)",现在我们把窗体上的各个字符串翻译成英文,并修改窗体的默认字体为Arial,字号8,完成后你会看到窗体文件名下面多出一个Form1.en-US.resx,这里用来保存已本地化为英文的资源.编译程序,拷贝到英文系统下执行程序看看,效果怎么样?(什么?你没有英文环境?好吧,后面会提供解决办法)
现在你已经成功的实现了中文简体与英文美国的完美支持,如果需要其他语种的支持,选择Language属性列表中相应的语种重复上述步骤即可.需要注意的是.net使用的是unicode编码,需要用unicode编码其他语种后输入到界面上,否则特别像繁体字容易出现乱码.
需要注意的情况:如果需要在窗体上添加删除控件,必须把窗体语言属性(Language)修改为默认后才可以进行修改.
下面我们来看一下资源文件如何处理

二. 资源本地化
在工程名称上点击右键,选择添加新项目,生成Resource1.resx文件,双击打开该文件,默认为字符串资源编辑器,在这里你可以定义字符串资源,在字符串值中输入"Hello World"(不包含双引号),现在就可以在代码中直接用Resource1.String1来引用了,注意这里的资源也是同窗体一样,是默认语言下的资源,在解释如何添加其他语言前,我们先介绍一下.net解析资源的步骤
.net 资源文件名(这里是Resource1.resx)由根名称(即Resource1),本地语言名称(默认情况下还没有)及扩展名组成,在读取资源时,资源管理器会根据当前环境决定需要的本地语言名称,例如英语,然后试图以全名读取资源,美国英语的本地名称为en-US(更多语言名称可以从MSDN中查询CultureInfo信息得到),那么资源全名为Resource1.en-US.resx,如果存在该文件,则载入该文件作为资源文件,如果没有则使用默认值Resource1.resx,确定好资源文件后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值