利用INI文件实现界面无闪烁多语言切换

ZDNet软件频道 时间:2002-09-24 作者:万重 |  我要评论()
本文关键词:2ccc
越来越多的程序使用了多国语言切换,虽然DELPHI自带多语言包的添加和配置,但是那种方法在切换语言时界面会出现闪烁,而且实现起来很麻烦,这里我介绍给大家的是利用INI文件来读取界面的语种文字,用这种方法,不但简单易行,而且在切换的时候不会出现界面的闪烁。
越来越多的程序使用了多国语言切换,虽然DELPHI自带多语言包的添加和配置,但是那种方法在切换语言时界面会出现闪烁,而且实现起来很麻烦,这里我介绍给大家的是利用INI文件来读取界面的语种文字,用这种方法,不但简单易行,而且在切换的时候不会出现界面的闪烁。

我们从一个例子出发,看看怎么实现语言的切换。首先建立一个新工程。放置如图的组件:

    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Exit1: TMenuItem;
    Label1: TLabel;
    Button1: TButton;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    Button2: TButton;
    Label2: TLabel;
    ComboBox1: TComboBox;
    Label3: TLabel;

文档图片

由于要读取Ini文件,所以在USES中加入声明IniFiles;
然后将Button1和Button2的ShowHint属性设置为True;
其中我们用ComboBox1来显示可供选择的语言和用来选择语言。
我们在程序的目录下编辑如下的Chinese GB.Ini文件:
;///////////////////////////////////////////////////////////////////
;
;  翻译的一些规则:
;  翻译前,拷贝 Chinese GB.ini 改名到 yourlanguage.ini
;  仅仅翻译符号'='后的文字
;

[Translations]
;
Label1.Caption  =文字1
Label2.Caption  =文字2
Label3.Caption  =语言
Button1.Caption =按钮1
Button2.Caption =按钮2
Button1.Hint    =按钮1_提示
Button2.Hint    =按钮2_提示
CheckBox1.Caption       =复选框1
CheckBox2.Caption       =复选框2
File1.Caption   =文件
Exit1.Caption   =退出
;
[Messages]

M1      =信息框测试
;

;//////////////////////////////////////////////////////////////////

同样的方法编辑一个名为English.ini的文件,将“=”左边的文字改为英文。
例如:Label1.Caption    =Label1


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134