Einzelnen Beitrag anzeigen

ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
375 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: Programm in mehreren Sprachen(keine Programmiersprachen)

  Alt 24. Jun 2008, 20:47
Hallo divby0

ich hoffe ich 'darf' hier für eine Software von Sakura antworten aber ich setze das ganze ja schon ne Weile ein. Hier einige Codeschnipsel zum grundsätzlichen Einsatz. Ich hab das Ganze mit bedingter Compilierung aufgebaut da ich nur BDS2006 habe und keine Post-Build-Events nutzen kann. Per Batch-Datei im Tool-Menu kann ich die Anwendung für Multilingual erzeugen, aus der IDE zum normalen entwickeln per F9 usw.

Delphi-Quellcode:

// Unit einbinden

uses {$IFDEF MultiLingual} dwsLocalizer, {$ENDIf} Datenmodul;

// Initialisierung im FormCreate bei dyn. erzeugten Forms

procedure TForm_AuswertungArbeitszeit.FormCreate(Sender: TObject);
begin
 {$IFDEF MultiLingual}
 GetLocalizer.InitializeLanguage(sprache);
 {$EndIF}
end;

// Anzeigen der verfügbaren Sprachen in einer Listbox

   {$IFDEF MultiLingual}
    GroupBox_Sprache.Visible:=true;
    GetLocalizer.GetLanguages(ListBox_Sprache.Items);
    if ListBox_Sprache.Count>0 then
     begin
      i:=0;
      while (i<Listbox_Sprache.Count) and (sprache<>Integer(ListBox_Sprache.Items.objects[i])) do inc (i);
      if i<Listbox_Sprache.Count then ListBox_Sprache.ItemIndex:=i;
     end;
    {$Else}
     GroupBox_Sprache.Visible:=false;
    {$EndIF}

// und Sprache auswählen zur Laufzeit
      {$IFDEF MultiLingual}
      if ListBox_Sprache.ItemIndex>=0 then
       sprache:=Integer(Listbox_Sprache.Items.Objects[ListBox_Sprache.ItemIndex]);
      GetLocalizer.InitializeLanguage(sprache);
      {$endIF}
     end;
Im Video wird das aber eigentlich ganz gut erklärt.

CG
Andreas Schachtner
  Mit Zitat antworten Zitat