多语言版本项目开发小结
2006-06-22 15:04
253 查看
现在做的一个系统,要求要有简繁体语言的界面,现在的做法是把界面上的内容都保存在一个XML文件里,这样做可能会保存在数据库里好一点,毕竟是本地的文件。但效果还是不大满意,一是数据多的话比较慢,二是开发起来很麻烦(多人开发,而且是异地的,没有用源代码管理,这对于控制XML文件同步太烦人了)。但项目已经开发到了1/3了,没办法了。但又怕以后遇到这种多语言版本的开发时,会一样的烦人,于是研究了一下这方面的东西,做一个小结。
我的开发环境是VS2003,发现可以使用资源文件来解决这个问题。
假设我的OS是简体中文版的,当我新建一个Form时,它的语言设定为“默认”,我可以按照设计的思路把整个Form的界面用简体中文设计好,然后把语言设置为“繁体中文”,发现在Form底下会多了一个后缀为zh-CHT.resx的文件,不用管它,看回我们的界面,里面还是简体中文的。把界面全改成繁体中文的(这个操作有点累而且好像很傻,同事问我,系统可不可以自动转换,我没有找到方法,不知道各位知不知道该怎么做)
对一个比较正规的系统来说,应该有登陆界面,我们可以在登陆界面上指定语言版本,然后用一个静态变量记住它。那么在我们刚才设计好的界面上的构造函数中,在调用InitializeComponent方法前,放进下面代码
if (login.GetLanguage()=="T")
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CHT");
}
代码很简单。在登陆时如果选了繁体中文,就会应用我们刚才提到的zh-CHT.resx文件,其他的都会使用默认的资源文件。
我个人感觉,这样做比使用XML或数据库更好理解一些,毕竟是所见即所得的,而且修改和多个人合作开发也算比较方便。
我的开发环境是VS2003,发现可以使用资源文件来解决这个问题。
假设我的OS是简体中文版的,当我新建一个Form时,它的语言设定为“默认”,我可以按照设计的思路把整个Form的界面用简体中文设计好,然后把语言设置为“繁体中文”,发现在Form底下会多了一个后缀为zh-CHT.resx的文件,不用管它,看回我们的界面,里面还是简体中文的。把界面全改成繁体中文的(这个操作有点累而且好像很傻,同事问我,系统可不可以自动转换,我没有找到方法,不知道各位知不知道该怎么做)
对一个比较正规的系统来说,应该有登陆界面,我们可以在登陆界面上指定语言版本,然后用一个静态变量记住它。那么在我们刚才设计好的界面上的构造函数中,在调用InitializeComponent方法前,放进下面代码
if (login.GetLanguage()=="T")
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CHT");
}
代码很简单。在登陆时如果选了繁体中文,就会应用我们刚才提到的zh-CHT.resx文件,其他的都会使用默认的资源文件。
我个人感觉,这样做比使用XML或数据库更好理解一些,毕竟是所见即所得的,而且修改和多个人合作开发也算比较方便。
相关文章推荐
- iOS多语言功能开发小结
- ASP.NET全球化与本地化 c#多国语言的支持 (项目支持多国语言的开发)
- (双人项目)四则运算 组员:杨钰宁 闫浩楠 开发语言:Python。
- Unity3D游戏开发之从Unity3D项目版本控制说起
- VisualStudio2013 如何打开之前版本开发的(.vdproj )安装项目
- 第五篇T语言实例开发,数组空间使用(版本5.3)
- 开发经验小结--项目变动带来的开发开销
- 开发嵌入式项目小结
- 【Untiy3D 游戏开发之一】Unity3D For Mac最新3.4.1版本破解教程分享并将Unity3D项目在iphone上运行;
- ZZ:使用.NET语言开发Silverlight应用程序入门(一):了解项目结构
- php开发大型项目小结
- ZZ:使用.NET语言开发Silverlight应用程序入门(一):了解项目结构
- ZZ:使用.NET语言开发Silverlight应用程序入门(一):了解项目结构
- 开发多语言版本程序应注意的几个问题
- java在线聊天项目0.1版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包)
- 项目开发小结之——编译、链接
- iOS 项目的本地化处理(多语言开发)
- Android项目开发的Git版本管理模式
- 用javaee版本eclipse开发移动互联项目(环境配置)
- Android开发实用技巧:判断当前系统语言版本