Wersja językowa

0

Czy zna ktoś dobry (oszczędny) sposób na zrobienie wersji językowej programu? czy naprawdę muszę pisać:

if angielski.checked then
begin
button1.caption := 'Close';
button2.caption := 'About';

itd..

Jeżeli poiadam dokładnie 397 komponentów na formie z czego jakieś 300 posiada Captiona (lub texta), są jesze hinty, no i przecież teksty pojawiające się podczas działania programu (showmmessage itp) :-( :-( :-(

Błagam nich ktoś poda dobry sopsób...

0

[code]
procedure language(lng:string);
var
I: Integer;
begin
INI := TINIFile.Create(ExtractFileDir(Application.ExeName) + lng);
for i:=0 to Form1.ComponentCount-1 do
begin
if Form1.Components[i] is TMenuItem then (Form1.Components[i] as TMenuItem).Caption:=INI.ReadString('Menu', Form1.Components[i].Name,'Błąd ładowania języka'+lng);
end;
// itd.. dla różnych typów komponentów.
INI2.Free;
end;[/code]

PS: podane tu rozwiązanie jest autorstwa Johnnego Bit i wykorzystuje pliki INI.

0

Ja!! Ja widziałem coś takiego!!
http://www.4programmers.net/view.php?id=17

0

<font color="green">Ja Ja widziałem coś takiego
http://www.4programmers.net/view.php?id=17</span>

Człowieku, nie o tym mowa.

0

Ja tam w swoich programach napisy wrzucam do DLL'a (tworzę jedną wielką tablicę, np. Naipsy=array[0..400]of PChar), później tylko eksportuję jedną funkcję, która poda mi napis o podanym identyfikatorze. Tutaj oczywiście musisz przyjąć sobie stałe dla danego komponentu...

0

kiedyś ściągnąłem programik którym można podmienić wszystke teksty na formach. Można w ten sposób zrobić dwie wersje językowe. Jak chcesz to mogę ci podesłać

0

W samym delphi jest narzędzie pozwalajace tworzyć wersje językowe programów. Niestety nie pamiętam, gdzie widziałem ops korzystania z tego.

0

nie wiem czy oto chodzi ale jezyki sa w menu projects\langueges

1 użytkowników online, w tym zalogowanych: 0, gości: 1