关于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半天。
我完整地说一下我的问题:
我写一个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半天。
相关文章推荐
- 关于程序语言的蛋生鸡 鸡生蛋问题
- 【操作系统】关于C语言设计程序退出自动关闭窗口的问题
- 关于GDB调试go语言程序中出现 os.Args无法打印的问题
- 关于PO文本不支持多语言维护问题
- 关于Delphi xe5 firemonkey 手机屏幕自适应程序问题
- Delphi程序之多语言支持
- 关于 页面多语言支持的纯前端(JQuery插件)实现及 .json 文件读取报404的问题
- 关于delphi的程序在英文操作系统下乱码问题
- 关于Delphi程序中互相引用的问题
- 关于VS2015支持编译Linux程序的问题
- 关于FTP程序接收文件的问题
- win xp出现“安装程序包的语言不受支持”的解决
- 关于安卓api版本支持问题
- 关于运行java程序提示:无法加载主类的问题
- 1、C++关于拷贝构造函数和赋值运算符重载问题的测试程序。因为调用顺序不清,导致内存泄漏new delete
- 关于初始化顺序表,程序崩溃问题
- CSDN上下载的一些关于Android程序调用Webservice执行不成功的问题
- 两个小问题解决记录:XCode中多Target时CFBundleDisplayName的多语言本地化;用C++写socket程序时编译错误说read和write找不到
- 一起C语言中程序时序问题的排查过程