Einzelnen Beitrag anzeigen

Deerfield

Registriert seit: 25. Sep 2003
3 Beiträge
 
#1

Multilinguale Applikationen

  Alt 25. Sep 2003, 08:39
Hi Leute,

ich muss ein Programm mehrsprachig machen. Hierbei arbeite ich mit einer Ressourcen-Stringlist und springe die ID's mittels sprachenspezifischen Offsets an. Auswählen der Sprache erfolgt mittels Menüeintrag im Grundbild. Das funktioniert soweit ganz gut, jedoch nur beim Mainform der Applikation. Wenn ich beispielsweise die AboutBox öffne, wird diese nicht in der ausgewählten Sprache angezeigt. Der relevante Ausschnitt aus der Unit "Sprache" sieht folgendermaßen aus:

Delphi-Quellcode:
begin
  with application do for i := 0 to ComponentCount-1 do begin
    for j := 0 to Components[i].ComponentCount-1 do begin
      if Components[i].Components[j].tag <> 0 then begin
        c := Components[i].Components[j];
        if (c is TLabel) then (c as TLabel).caption := GetResString((c as TLabel).tag);
        if (c is TButton) then (c as TButton).caption := GetResString((c as TButton).tag);
        if (c is TCheckbox) then (c as TCheckbox).caption := GetResString((c as TCheckbox).tag);
        if (c is TMenuitem) then (c as TMenuitem).caption := GetResString((c as TMenuitem).tag);
       { Hier stehen die weiteren Typen, die von der Sprachumwandlung betroffen sind ... z.B. Combobox }

      end;
    end;
  end;
end;
Ich vermute, dass sich 'application' nur auf die Mainform bezieht?! Oder muss ich jedes Form beim Aufruf initialisieren? Wer kann helfen?

MfG
Deerfield
  Mit Zitat antworten Zitat