Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Lingus (Übersetzungswerkzeug) (https://www.delphipraxis.net/146618-lingus-uebersetzungswerkzeug.html)

wicht 26. Mai 2010 17:40

Re: Lingus (Übersetzungswerkzeug)
 
Naja, 10 Zeilen Lizenz und HDR ... aber im Kern hast du wohl Recht.
Dann muss ich mal rausfinden, unter welcher Lizenz die Lizenz steht :stupid: sowas doofes... und am besten noch gucken, dass die Lizenz, unter der die Lizenz steht, nicht von irgendetwas anderem Lizenziert ist.

Larsi 26. Mai 2010 17:44

Re: Lingus (Übersetzungswerkzeug)
 
Du könntest ja eine Funktion einbauen welche automatisch übersetzt zum Beispiel mit dem Google Online Übersetzer, die Ergebnisse muss man zwar in den meißten Fällen noch überarbeiten aber eine optinale Funktion fänd ich nicht schlecht. Zum Thema Übersetzung hab ich mal eine kleine Anwendung progammiert welche "Quick und Dirty" mit dem Google Service übersetzt. Klick! Was hälst du von der Idee?

MfG Lars Wiltfang

RWarnecke 28. Mai 2010 21:51

Re: Lingus (Übersetzungswerkzeug)
 
Hallo,

wenn ich vom Programm die Anzeige eines Labels ändere, wird die Anzeige des Labels wieder auf die ursprüngliche Anzeige bei einer Übersetzung zurückgesetzt. Konkretes Beispiel :
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
  Label1.Caption := 'Der Testbutton wurde noch nicht angeklcikt';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := 'Test des Button 1';
end;

procedure TForm1.Translate;
begin
  {Wie im Beispiel beschrieben}
end;
Der String vom Event FormShow steht in der Resourcedatei von Lingus, der String von Button 1 nicht. Wenn ich jetzt Button 1 anklicke, dann ändert sich die Anzeige in Label1. Wenn ich danach jetzt über eine Auswahl von einer Combobox die Sprache auswähle und damit die Procedure Translate aufrufe, dann ändert sich die Anzeige von Label 1 in den übersetzten String aus dem FormShow-Event.

Mache ich da irgendwas falsch oder habe ich da einen Fehler gefunden ?

wicht 2. Jul 2010 09:18

AW: Lingus (Übersetzungswerkzeug)
 
Hallo,

es gibt eine neue Version. Anhang des ersten Posts ist aktualisiert.

Neuerungen:
  • Unterstützung für TStrings (TMemo, TComboBox, ...)
  • LoadFromFile()-Methode hinzugefügt, um Übersetzungen zur Laufzeit aus Datei zu laden

Lars: Ich denke das mache ich nicht. Ich glaube, wenn man es automatisieren würde, müsste man danach trotzdem noch per Hand an jedem String rumfummeln.. falls das irgendwer machen möchte, die Quellen gibts ja zum Download :-D

Rolf: Das könnte in der Tat ein Fehler sein. Beim ersten Aufruf von Language.Translate() für die Form werden Instanzen von TTranslationMarker erstellt (Owner ist dann die Form). In diesem Objekten wird der ursprüngliche Text des Labels gespeichert, bevor Translate() es übersetzt. Dieser muss bekannt sein, um bei einer Sprachänderung (und anschließendem Aufruf von Translate()) zu wissen, was da mal stand (Originaltext), um das passende Äquivalent in der neu ausgewählten Sprache zu finden. Ich werde mich später drum kümmern und mich dann hier nochmal melden.

Sorry dass ich mir soviel Zeit zum Antworten gelassen habe. Zuviel zu tun.. :stupid:

RWarnecke 2. Jul 2010 10:48

AW: Lingus (Übersetzungswerkzeug)
 
Hallo Alexander,

das sieht ja schonmal nicht schlecht aus. Werde das die nächsten Tage ausprobieren. Was macht die Übersetzung der Einträge in einem TTreeView ?

wicht 2. Jul 2010 11:02

AW: Lingus (Übersetzungswerkzeug)
 
Ich denke das wird nichts. In der dfm-Datei wird das TListItem wohl irgendwie serialisiert.. ich wüsste nicht, wie ich das machen soll :?

wicht 7. Jul 2010 17:52

AW: Lingus (Übersetzungswerkzeug)
 
Rolf, das von dir oben beschriebene Problem ist nun behoben.

drschubi 19. Jul 2010 18:23

AW: Lingus (Übersetzungswerkzeug)
 
Hallo, erstmal vielen Dank für dieses tolle Projekt.
Schade dass hier mehr über die Lizenz als über das Projekt an sich diskutiert wird.
Ich möchte die Sprache aus der pf-Datei laden mit
Delphi-Quellcode:
Language.LoadFromFile('lang.pf');
Aber wie sage ich denn welche Sprache ich haben will?

Komme da nicht weiter.

Danke Renê

Sorry, ich habs
z.Bsp. Language.SetLanguage('fr');

wicht 19. Jul 2010 18:59

AW: Lingus (Übersetzungswerkzeug)
 
Hi,

schön, dass du das Ding benutzt. Das hier nicht viel über Lingus geredet wird ist völlig okay, dann kann ich mich nämlich um wichtigeres kümmern :-D ...

drschubi 19. Jul 2010 19:07

AW: Lingus (Übersetzungswerkzeug)
 
Hallo Wicht, so richtig will es bei mir nicht, schade das es keine demo gibt.
Nach mehrmaligem Aendern der Auswahl in der ComboBox wird nichts mehr übersetzt. Was mache ich denn falsch?

Danke im voraus Renê


Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Combobox1.Items.Add('Deutsch');
  Combobox1.Items.Add('Englisch');
  Combobox1.Items.Add('Französisch');
  ComboBox1.ItemIndex:=0;
  Language.LoadFromFile(ProgDir + 'lang.lpf'); Language.SetLanguage('de'); Language.Translate(Self);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  case combobox1.ItemIndex of
    0: begin Language.LoadFromFile(ProgDir + 'lang.lpf'); Language.SetLanguage('de'); Language.Translate(Self); end;
    1: begin Language.LoadFromFile(ProgDir + 'lang.lpf'); Language.SetLanguage('en'); Language.Translate(Self);end;
    2: begin Language.LoadFromFile(ProgDir + 'lang.lpf'); Language.SetLanguage('fr'); Language.Translate(Self);end;
  end;
end;

initialization
  ProgDir := ExtractFilePath(Paramstr(0));
end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr.
Seite 3 von 5     123 45      

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