unit KeyBoard; interface uses Windows,SysUtils; type TLanguage=(Arabic, English); procedure SetLanguage (Lan:TLanguage) ; function GetLanguage:TLanguage ; procedure ChangeLanguage; implementation procedure SetLanguage (Lan:TLanguage) ; begin if Lan= Arabic then LoadKeyBoardLayout ( '00000401', KLF_ACTIVATE) else LoadKeyBoardLayout ( '00000409', KLF_ACTIVATE); end; function GetLanguage:TLanguage ; var p:array[0..100] of char; begin GetKeyboardlayoutname(p); if StrPas(p) = '00000401' then GetLanguage:= Arabic else GetLanguage:= English; end; procedure ChangeLanguage; begin ActivateKeyBoardLayout ( HKL_NEXT, 0); end; end.