您的位置:首页 > 编程语言 > Delphi

关于DELPHI程序多语言支持的问题

2008-04-07 10:09 295 查看
写DELPHI程序,是如何实现繁体化的?是如何开发英文版的?是通过外挂语言包吗?
我完整地说一下我的问题:

我写一个DELPHI程序,开发环境是是简体中文版本win xp系统+ Delphi 7的。现在想做一个繁体版本以及其他非简体中文版本的出来。此时遇到这几个问题:

1、在非简体中文系统中均出现乱码或界面文字错位。
2、而且语言包速度太慢了,每次启动要预读一下语言文件进行界面翻译,工程量大的时候明显感到启动速度下降了
3、因为工程量比较大,逐一设置“提示内容”及“界面内容”的语言包比较麻烦,所以不想用ini文件或dll资源库的语言包形式

请问各位DELPHI高手你们是怎么做的?有没有一劳永逸的方法?

听说DELPHI内置的多国语言功能, 有没有用法帮助?
还有没有其他一些好用简单强大的Unicode语言包控件?
-----------------------------------------------------------------------------------------------------------------------------------------------------

Delphi的多语言是这么用的,但是添加多语言后编译连接速度很慢,有时候10来分钟。
可以把你的Delphi的窗体文件分给翻译来翻译,如果是Delphi7,需要先用Conver.exe来转换为文本格式。

1、Project-New Application 创建你的中文版软件。
2、Project-Language-Add 添加你的语言,比如美国英语(ENU)。或者File-New-Others-Dll Wizard
3、保存后生成多个文件夹。
4、Project-Build All
5、程序目录下生成和工程文件同名的语言文件:MyExe.ENU;MyExe.CHN,软件发布需要带这些文件。
6、把软件里面所有字符串定义为资源字符串。
resourcestring
C_AppTitle = 'xx管理系统';
C_Error = '错误';
C_Warning = '警告';
7、在软件中用如下代码切换语言:
const
//定义你得多语言:
ENGLISH = (SUBLANG_ENGLISH_US shl 10) or LANG_ENGLISH;
CHINESE = (SUBLANG_CHINESE_SIMPLIFIED shl 10) or LANG_CHINESE;

uses
ReInit;
...

if LoadNewResourceModule(ENGLISH) <> 0 then
begin
ReInitializeForms();
end;

更多请参考Delphi帮助,里面写得更清楚。
我以前也用INI文件做多语言,感觉挺好用,Delphi带得这个多语言感觉编译起来太慢,而且总需要Build半天。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: