unit _fm_Lang; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons; type Tfm_Lang = class(TForm) cbLanguages: TGroupBox; rbENU : TRadioButton; rbDEU : TRadioButton; rbRUS : TRadioButton; laENU : TLabel; laDEU : TLabel; laRUS : TLabel; Image1 : TImage; Image2 : TImage; Image3 : TImage; btOk : TBitBtn; procedure rbANYClick(Sender: TObject); procedure btOKClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var fm_Lang : Tfm_Lang; implementation uses _fm_Main; {$R *.DFM} procedure Tfm_Lang.rbANYClick(Sender: TObject); begin if rbENU.Checked then begin btOK.Caption := 'Start the game Erudite'; btOK.Font.Charset := DEFAULT_CHARSET; end; if rbDEU.Checked then begin btOK.Caption := 'Start das Spiel Erudite'; btOK.Font.Charset := EASTEUROPE_CHARSET; end; if rbRUS.Checked then begin btOK.Caption := 'Начать игру Эрудит'; btOK.Font.Charset := RUSSIAN_CHARSET; end; btOK.Enabled := true; end; procedure Tfm_Lang.btOKClick(Sender: TObject); begin if rbENU.Checked then CurrentLanguage := lgENU; if rbDEU.Checked then CurrentLanguage := lgDEU; if rbRUS.Checked then CurrentLanguage := lgRUS; Close; end; procedure Tfm_Lang.FormShow(Sender: TObject); begin case GetUserDefaultLangID of 1031: rbRUS.Checked := true; 1049: rbDEU.Checked := true; else rbENU.Checked := true; end; end; procedure Tfm_Lang.FormClose(Sender: TObject; var Action: TCloseAction); begin if not btOk.Enabled then Action := caNone; end; end.