使用Delphi 5的Integrated Translation Environment (ITE)可以轻易得完成这个工作。 我们创建一个示意性的工程MultiLanguage, 在Form上放一个Label和一个Button, 分别 把Caption赋值为“English Label” 和“English Button”。 选择菜单Project|anguages|Add ..., Delphi显示Add Languages对话框, 选择Next。 从语言列表中选中“英语(美国)” 和“中文(中国)”, 选择Next。 ITE会根据所选的语言创建子目录,目录名称是语言的缩写,选择Next。 第一次增加语言时, Update Mode固定为Create new, 选择Next。 选择Finish。 Delphi会自动创建支持不同语言的资源动态库。 Delphi还会自动创建一个工程组, 其中包括原有的MultiLanguages.EXE, 还包括新建的两个资源动态库 (MultiLanguages.enu, MultiLanguages.chs) 。 保存工程组。 Delphi启动Translation Manager, 左边是需要翻译的语言, 右边是完成百分比。 选择“中文(中国)”|Forms|Unit1, 在右边第15行和20行填写翻译后的中文。 保存并关闭。 打开Project Manager, 编译MultiLanguages.enu和MultiLanguages.chs, Delph i会在相应的子目录生成资源动态库, 但后缀不是DLL而是ENU和CHS。 有三方法可实现语言切换: 1.把所有的语言包(.DEU,.ENU等文件,和Exe文件同名)放在和Exe相同的目录下, 它就会根据系统的语言环境自动选择。 2.采用Demos\Richedit示例演示的方法。 3.在注册表HKEY_CURRENT_USER\Software\Borland\Locales\中指定可执行文件的 路径\文件名和语言包的扩展名,Exe文件会查询该键值切换语言。其实在Delphi/BCB 的Project\Languages\Set Active...菜单中的操作就是修改该键值。 在Delphi 5 带的Demos\Richedit 示例演示了动态切换语言的技术。 请仔细研究它的源码。在自己的程序中使用可能要借用到它的一些Unit。
|