Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Multilinguale Applikationen (https://www.delphipraxis.net/9366-multilinguale-applikationen.html)

Deerfield 25. Sep 2003 07:39


Multilinguale Applikationen
 
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

Pseudemys Nelsoni 25. Sep 2003 09:28

Re: Multilinguale Applikationen
 
schliess das mal bitte in [ delphi ] [ /delphi ] ein


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz