Przeczytałem cały artykuł o wersjach językowych autorstwa A.Boducha (http://4programmers.net/view.php?id=17). Mam taki problem. W mojej aplikacji wszystkie elementy (w zależności od języka wybranego) są zapisywane do plików INI, np. polish.ini, english.ini - jeden plik dla języka.
Wczytanie języka ma się na przykład następująco:
[code]
procedure language(lng:string); // zaladowanie jezyka
var
I: Integer;
begin
INI2 := TINIFile.Create(ExtractFileDir(Application.ExeName) + '\lngs' +lng);
Notatnik.Caption:=INI2.ReadString('Main','notepad_caption', 'Error Loading Language '+lng);
for i:=0 to Notatnik.ComponentCount-1 do
begin
if Notatnik.Components[i] is TMenuItem then
begin
if ((Notatnik.Components[i] as TMenuItem).Caption'-') then (Notatnik.Components[i] as TMenuItem).Caption:=INI2.ReadString('Menu', Notatnik.Components[i].Name, 'Error Loading Language '+lng);
end;
end;
INI2.Free;
end;[/code]
i tak dalej.
Jak można zapisać język, który będzie operował MessageBoxem. Np. aby przycisk <font color="blue">"MB_YESNOCANCEL"</span> był w danym jęyzku, albo jeszcze lepiej: miał dowolny caption, wybrany przeze mnie i napisany w pliku języka.