C#的winform程序实现多国语言

版权声明:copyright by 哈佛小丸子 https://blog.csdn.net/hafoxiaowanzi/article/details/46561593

        最近由于项目的需要,要求实现英文与中文对照的版本程序,由于之前已经编写了中文版本的程序,要转换成英文,由于存在很多界面和提示信息,如果要修改成通过读取不同字符串变量的方式,工作量还是蛮大的,而且如果自己通过if else逻辑判断实现很容易出现错误,从网上搜索了一下,关于C#支持多国语还是比较简单的,其实就是在原来中文版本的基础上对每一个界面增加一个同样名字.en-us.resx的资源文件,定义字符串与中文版一致,然后通过使用 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(xxx类名));,然后调用resouces的GetString方式分别去定义控件中的text或者caption即可。对于公共的提示语言,可以在Global的resource.resx中分别定义中文、英文,然后定义字符串,同样采用资源类(这里采用system.property.resources的成员变量替换),然后重新编译即可完成。

        我使用的是VS2008去实现的,不过我发现如果采用了这种方式,如果使用界面的desin可视化,就会重新将之前改掉的地方更改,而且更改后也相对很麻烦,需要重新一一对应修改,这里我没有搞清楚是为什么,不知道是VS2008这样呢,还是由于我采用的是DevExpress库导致这样的问题存在,若有哪位老兄知道这种情况的原因还请告知一下(这里万分感谢)。啰里啰嗦的写了一堆,只是给自己留个参考或者给别的人提供电点线索吧

猜你喜欢

转载自blog.csdn.net/hafoxiaowanzi/article/details/46561593