如何实现已有系统的多语言转换??

本文分享了在不重构原有系统的基础上,实现多语言支持的经验。主要包括:将界面元素值存入数据库以便对照翻译;处理特殊控件如ComboBox的Item值;对消息提示进行统一转换等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   以前我们公司的系统是简体版本,而且版本控制得了不好,几乎是一个客户一套源码?当然这只是公司发展初期由于客户的需求不同,而且我们对该行业的了解有关。最近公司发展了业务大了,当然这个业务大不是客户多,而是客户很大,需求也很多,其中有一条就是多语言,为了满足海外客户的要求,我们必须在尽量短的时候内做出多语言程序。

   相信写程序肯定都多多少少接触过多语言程序,如果从零开始就比较好,因为可以统一规则,如何实现翻译如可实现N多种语言转换都可以写个方案。但是现在不同,由于时间以及程序的稳定性的问题,我们不可能重新写一套系统。只有在原有的基础上进行修改。

  我现在做分几部,

 1.将界面上所有有caption属性的的值 写入数据库中,这样可以对照翻译如果要转成其它语言就可以找到对应的字段。

 2、将界布上所有hint属性的值写入与之相同的同一个表中。

 3、对特殊控制的处理,如comboboX的ITem值 ,对radiogroup的item值。。。我们都得相应的做处理。

 4、对程序中的message如,showmessage,inputbox,messagedlg,messagebox等写成相应的转换函数,这个我感觉是个难度,因为得人手一个个的将显示的文字写入到对照表中,不知大家有没有好的办法。我现在是手工+如果该对话框有显示也会自动加进。

5、导出excel的翻译,由于我们导出excel是用模板控制,如果不想不同的语言用不同的模块。所以该 部分我们做了特殊处理。

6、打印报表的处理,该部分的处理与excel的处理方式相似。

在写这些东西的时候,很感觉程序中大部分的不是从Tform中直接继承的,要不然那工作量就大了。这是我对已有程序上进行多语言转换的处理方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蝈蝈(GuoGuo)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值