Nasıl türkçeleştirebiliriz. Forumda da baktığım pas dosyasını düzenleyerek çözüme ulaşanları gördüm.
Bu da benim çözümüm. Biraz uğraştırdı ama uğraşmaya değer...
Ana Formunuza bir tane TApplicationEvents nesnesi bırakın.
Kod: Tümünü seç
private
{ Private declarations }
procedure ConvertToTurkish(H: HWND);
procedure TfrmMain.ConvertToTurkish(H: HWND);
begin
if FindWindowEx(H, 0, 'TButton', '&Yes') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', '&Yes'), WM_SETTEXT, 0,
Integer(PCHAR('Evet')));
end;
if FindWindowEx(H, 0, 'TButton', '&No') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', '&No'), WM_SETTEXT, 0,
Integer(PCHAR('Hayır')));
end;
if FindWindowEx(H, 0, 'TButton', 'OK') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', 'OK'), WM_SETTEXT, 0,
Integer(PCHAR('Tamam')));
end;
if FindWindowEx(H, 0, 'TButton', 'Cancel') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', 'Cancel'), WM_SETTEXT, 0,
Integer(PCHAR('İptal')));
end;
if FindWindowEx(H, 0, 'TButton', 'Abort') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', 'Abort'), WM_SETTEXT, 0,
Integer(PCHAR('Durdur')));
end;
if FindWindowEx(H, 0, 'TButton', 'Retry') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', 'Retry'), WM_SETTEXT, 0,
Integer(PCHAR('Tekrar')));
end;
if FindWindowEx(H, 0, 'TButton', 'Ignore') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', 'Ignore'), WM_SETTEXT, 0,
Integer(PCHAR('Umursama')));
end;
if FindWindowEx(H, 0, 'TButton', 'All') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', 'All'), WM_SETTEXT, 0,
Integer(PCHAR('Hepsi')));
end;
if FindWindowEx(H, 0, 'TButton', 'N&o to All') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', 'N&o to All'), WM_SETTEXT, 0,
Integer(PCHAR('Tümünü Hayır')));
end;
if FindWindowEx(H, 0, 'TButton', 'Yes To &All') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', 'Yes To &All'), WM_SETTEXT, 0,
Integer(PCHAR('Tümünü Evet')));
end;
if FindWindowEx(H, 0, 'TButton', '&Close') <> 0 then
begin
SendMessage(FindWindowEx(H, 0, 'TButton', '&Close'), WM_SETTEXT, 0,
Integer(PCHAR('Kapat')));
end;
end;
Daha sonra TApplicationEvent nesnesinin OnMessage Eventine.
Kod: Tümünü seç
procedure TfrmMain.ApplicationEventsMessage(var Msg: tagMSG;
var Handled: Boolean);
var
H: HWND;
begin
H := FindWindow('TMessageForm', 'Information');
if H <> 0 then
begin
SendMessage(H, WM_SETTEXT, 0, Integer(PCHAR('Bilgi')));
ConvertToTurkish(H);
exit;
end;
H := FindWindow('TMessageForm', 'Warning');
if H <> 0 then
begin
SendMessage(H, WM_SETTEXT, 0, Integer(PCHAR('Dikkat')));
ConvertToTurkish(H);
exit;
end;
H := FindWindow('TMessageForm', 'Error');
if H <> 0 then
begin
SendMessage(H, WM_SETTEXT, 0, Integer(PCHAR('Hata')));
ConvertToTurkish(H);
exit;
end;
H := FindWindow('TMessageForm', 'Confirm');
if H <> 0 then
begin
SendMessage(H, WM_SETTEXT, 0, Integer(PCHAR('Onay')));
ConvertToTurkish(H);
exit;
end;
end;
By İsmail Kocacan