开发环境:C# 2008
默认语言:英语(美国) en-US
扩展语言:中文(简体) zh-CN
前提条件:要在项目稳定后,再做多语言本地化
要求:代码中一定不要使用硬编码,统一使用Resoures.XXX来使用资源中的字符串
步骤:
- 将所有跟多语言相关的字符串资源改成从Resources.resx文件中读取,使用默认语言。
- 双击打开一个窗体进入界面编辑模式(View Designer)
- 将AutoScaleMode改为None、Font改为Microsoft Sans Serif 8号字、Localizable改为True,调整当前窗体为适合的界面,供默认语言时调用,保存后会生成窗体名.resx文件。
- 修改Language为Chinese (PPC),Font可以改为宋体 9号字或小五,也可以保留Microsoft Sans Serif 8号字,修改各字符串为扩展语言并调整为适合的界面,保存后会生成窗体名.zh-CN.resx文件。
- 重复2~4步修改所有的窗体。修改控件时将Language改成Default再做修改。
- 右击Resources.resx文件选Copy菜单,右击工程名选Paste菜单,会在工程下贴粘出Resources.resx文件,重命名成与扩展语言对应的名称Resources.zh-CN.resx,并拖进Properties文件组(夹)。
- 双击打开Resources.zh-CN.resx,修改各个资源字符串为对应的扩展语言并保存,可以删除Resources.zh-CN.Designer.cs,因为除了字符串资源,其它多媒体资源仍保存在默认的Designer.cs文件中。
- 在Program.cs的Main函数调用System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(“en-US”);设置默认的语言,缺省的话系统会使用第一个添加的扩展语言,这里会是zh-CN。注意有多线程操作界面时各线程要分别设置CurrentUICulture。
- 重复2~8步支持其它扩展语言,编译后会在执行程序所在目录下新建zh-CN等多语言的资源目录,如果想使用默认语言可以删除所有的多语言资源目录,也可以按第8步修改默认的语言。
测试工程:TestLanguage.zip
Tags: C#/.NET