写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半天。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/luoyanqing119/archive/2008/04/07/2256173.aspx