首页  编辑  

Delphi中的多语言支持

Tags: /超级猛料/IME.Charset.输入法和中文处理/   Date Created:

Delphi中的多语言支持

By Kingron, 2006

从Windows 2000 开始,Windows就支持在一个操作系统中处理多种语言,也就是说在在英文操作系统中,你也可以显示中文界面!正常的情况下,我们都是采用翻译字符串的方式来进行国际化和作UI处理的。一般地,在中文操作系统中,可以处理英文和中文界面,但无法处理日文界面,也就是说显示日文是乱码!在英文操作系统中,就无法显示中文界面,只能用英文!要是在英文环境下可以支持任何OS支持的语言多好啊!实际上我们可以做到这一点:

1:首先你要让你的UI语言文件能够支持多语言,例如使用UTF-8编码,采用XML等;

2:修改你的程序的代码,在程序运行的入口添加类似代码:

 SetThreadLocale(DWORD(Word(SORT_DEFAULT) shl 16) or

                 DWORD(Word(SUBLANG_CHINESE_SIMPLIFIED) shl 10) or

                 DWORD(Word(LANG_CHINESE)));

请尽可能早调用该语句!

你的程序中的字体的使用,请注意使用对应语言的字体

3:目标运行机器需要安装中文字符集和字库,即控制面板-->区域和语言选项--〉高级,代码转换表,安装需要的语言和字库。这个步骤可以用程序来自动完成。必须安装对应语言的字体到系统字体目录。

4:你可以任意切换语言了,但可能要求你的程序重新启动,在英文OS下,可以任意切换中文,英文,日文,繁体中文,法文,德文,阿拉伯文等等是不是很爽! :-D