Hallo,
ich versuche mein Program mittels PO Dateien und TPoTranslator (TranslateUnitResourceStrings) zu mutlilingualisieren.
Ich erzeuge den Translator im initialization - Abschnitt der mainform LRSTranslator := TPoTranslato.Creater(PODatei.po); wie im Wiki beschrieben.
Bei Std-Komponenten der LCL klappt das auch prima, ebenso wie bei Resourcenstrings.
Allerdings ersetzt er in meinen eignene visuellen Komponenten nicht die Text-Eigenschaten.
In der von Lazarus aus den lrt Dateien erstellten POs sind sie vorhanden und auch übersetzt.
Hat jemand eine Idee, was ich falsch mache?
Gruß
FX
i18n bei eigenen Komponenten
Re: i18n bei eigenen Komponenten
Möglicherweise rufst du in deinem Programm die für die .po Dateien benötigten Funktionen nicht korrekt auf. Daß die Übersetzungen bei den LCL Komponenten funktionieren dürfte daran liegen, daß die Zeichenketten aus den .po Dateien von Lazarus genommen werden (wenn ich davon ausgehe, daß du die Tests auf deinem Entwicklungsrechner durchführst, auf dem Lazarus installiert ist).
knight
knight
Re: i18n bei eigenen Komponenten
Hallo,
ich habe mich wohl unklar ausgedrückt.
Der Aufruf ist definitiv korrekt, das bei den LCL-Komponenten die Texte ersetzt werden.
Spricht TLabel.Caption = 'Haus' wird zu 'House'
MyComponent.Text = 'Baum" bleibt 'Baum'
In der PO-Datei die Lazarus aus den lrt erstellt ist Haus und Baum zu den entsprechenden Komponenten aufgeführt.
In der mit den Übersetzungen gefütterten Version auch.
Es schein so, als ob der POTranslator Probleme mit meinen Komponenten hat.
Nachtrag:
Allerdings schein es so, als ob dieses nicht auf alle meiner grafischen Komponenten zutrifft!
Komischer weise scheint es einmal zu gehen und an anderer Stelle nicht. (gleiche Komponente).
ich habe mich wohl unklar ausgedrückt.
Der Aufruf ist definitiv korrekt, das bei den LCL-Komponenten die Texte ersetzt werden.
Spricht TLabel.Caption = 'Haus' wird zu 'House'
MyComponent.Text = 'Baum" bleibt 'Baum'
In der PO-Datei die Lazarus aus den lrt erstellt ist Haus und Baum zu den entsprechenden Komponenten aufgeführt.
In der mit den Übersetzungen gefütterten Version auch.
Es schein so, als ob der POTranslator Probleme mit meinen Komponenten hat.
Nachtrag:
Allerdings schein es so, als ob dieses nicht auf alle meiner grafischen Komponenten zutrifft!
Komischer weise scheint es einmal zu gehen und an anderer Stelle nicht. (gleiche Komponente).