如何实现已有系统的多语言转换??
2009-06-09 13:27
302 查看
以前我们公司的系统是简体版本,而且版本控制得了不好,几乎是一个客户一套源码?当然这只是公司发展初期由于客户的需求不同,而且我们对该行业的了解有关。最近公司发展了业务大了,当然这个业务大不是客户多,而是客户很大,需求也很多,其中有一条就是多语言,为了满足海外客户的要求,我们必须在尽量短的时候内做出多语言程序。
相信写程序肯定都多多少少接触过多语言程序,如果从零开始就比较好,因为可以统一规则,如何实现翻译如可实现N多种语言转换都可以写个方案。但是现在不同,由于时间以及程序的稳定性的问题,我们不可能重新写一套系统。只有在原有的基础上进行修改。
我现在做分几部,
1.将界面上所有有caption属性的的值 写入数据库中,这样可以对照翻译如果要转成其它语言就可以找到对应的字段。
2、将界布上所有hint属性的值写入与之相同的同一个表中。
3、对特殊控制的处理,如comboboX的ITem值 ,对radiogroup的item值。。。我们都得相应的做处理。
4、对程序中的message如,showmessage,inputbox,messagedlg,messagebox等写成相应的转换函数,这个我感觉是个难度,因为得人手一个个的将显示的文字写入到对照表中,不知大家有没有好的办法。我现在是手工+如果该对话框有显示也会自动加进。
5、导出excel的翻译,由于我们导出excel是用模板控制,如果不想不同的语言用不同的模块。所以该 部分我们做了特殊处理。
6、打印报表的处理,该部分的处理与excel的处理方式相似。
在写这些东西的时候,很感觉程序中大部分的不是从Tform中直接继承的,要不然那工作量就大了。这是我对已有程序上进行多语言转换的处理方式
相信写程序肯定都多多少少接触过多语言程序,如果从零开始就比较好,因为可以统一规则,如何实现翻译如可实现N多种语言转换都可以写个方案。但是现在不同,由于时间以及程序的稳定性的问题,我们不可能重新写一套系统。只有在原有的基础上进行修改。
我现在做分几部,
1.将界面上所有有caption属性的的值 写入数据库中,这样可以对照翻译如果要转成其它语言就可以找到对应的字段。
2、将界布上所有hint属性的值写入与之相同的同一个表中。
3、对特殊控制的处理,如comboboX的ITem值 ,对radiogroup的item值。。。我们都得相应的做处理。
4、对程序中的message如,showmessage,inputbox,messagedlg,messagebox等写成相应的转换函数,这个我感觉是个难度,因为得人手一个个的将显示的文字写入到对照表中,不知大家有没有好的办法。我现在是手工+如果该对话框有显示也会自动加进。
5、导出excel的翻译,由于我们导出excel是用模板控制,如果不想不同的语言用不同的模块。所以该 部分我们做了特殊处理。
6、打印报表的处理,该部分的处理与excel的处理方式相似。
在写这些东西的时候,很感觉程序中大部分的不是从Tform中直接继承的,要不然那工作量就大了。这是我对已有程序上进行多语言转换的处理方式
相关文章推荐
- 如何将简单CMS后台管理系统示例转换为Java、Php等不同后台语言的版本
- AE中如何实现经纬度转换为其他坐标系统下的坐标
- 如何将简单CMS后台管理系统示例转换为Java、Php等不同后台语言的版本
- 如何将简单CMS后台管理系统示例转换为Java、Php等不同后台语言的版本
- Textview如何将Html语言中的空格进行转换并实现首行缩进
- 如何实现把多个第三方输入法转换为系统输入法。在输入法设置时候勾选框默认是勾选的
- 如何将简单CMS后台管理系统示例转换为Java、Php等不同后台语言的版本
- 关于字符和数字类型的索引,Oracle如何实现内部自动转换以及索引使用的验证测试
- 语言基础——Java_十进制数转换成十六进制数的实现
- (原创)如何用自带AD实现触摸屏转换(触摸屏)(AD转换)
- 软件系统多语言实现方案(重点介绍VB.net利用微软的国际化支持实现软件系统多语言)
- 如何实现Visual Studio中的区域语言环境切换
- Model验证系统运行机制是如何实现的?
- 如何实现一个文件系统
- 如何实现一个文件系统
- 如何实现一个UI系统
- .Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何实现线状图表
- 如何用Google APIs和Google的应用系统进行集成(8)----如何把Google Blogger(博客)的JSON Schema转换成XML的Schema(XSD)?
- Android系统如何实现UI的自适应
- Android系统如何实现换肤及MIUI