Hallo allerseits,
ich habe hier Lazarus 1.5 Revision 49833 mit FPC 3.1.1 31705 auf Windows 7 laufen. Es werden bei eingeschalteter i18n Projektoption nur Resourcestrings in die .po übertragen, alle Captions vom Typ TTranslateString werden ignoriert.
Das gleiche Projekt unter Lazarus 1.4.2 mit FPC 2.6.4 auf dem gleichen Rechner überträgt alle TTranslateStrings in die .po.
Gibt es irgend eine weitere Option im Trunc zu beachten oder ist dies ein Bug?!
Danke
Michael
[Edit] Komisch, ich wollte auf die Fehlersuche gehen. Nach dem Test zwei älterer Revisionen habe ich auch die oben genannte wieder getestet und nun funktioniert das auch mit dieser Version. K.A., was da gestern schief gelaufen ist.
Sorry, falls sich schon jemand Umstände deshalb gemacht hat.
[gelöst] Captions nicht in .po
[gelöst] Captions nicht in .po
Zuletzt geändert von Michl am So 20. Sep 2015, 19:51, insgesamt 1-mal geändert.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Captions nicht in .po
Doch nicht gelöst...
Es ist schon reichlich merkwürdig manchmal funktioniert es, dass die Captions von den Controls in die .po eingetragen werden manchmal nicht.
Ich habe jetzt folgende Schritte gemacht (Lazarus 1.4.2 und Lazarus 1.5 gleichzeitig):
- neues Projekt erstellt
- in ein neues leeres Verzeichnis gespeichert
- in diesem Verzeichnis ein Verzeichnis "languages" erstellt
- in den Projekteinstellungen -> i18n -> i18n einschalten ... und das Verzeichnis "languages" gewählt
- in Lazarus 1.4.2 Haken bei .po Datei beim Speichern einer lfm Datei erstellen/aktualisieren gesetzt (bei Lazarus 1.5 fehlt diese Checkbox)
- ein Button auf dem Formular platziert
- in den uses DefaultTranslator als letzte Unit eingefügt
- ein resourcestring eingefügt:- Projekt gestartet
Unter 1.4.2 wird ein project1.po wie folgt erstellt:
unter 1.5 folgender:Es fehlen alle Captions!
Öffne ich jetzt mit 1.5 das von 1.4.2 erstellte Projekt und füge ein weiteren Button hinzu, wird dessen Caption in der .po aufgenommen
Es ist schon reichlich merkwürdig manchmal funktioniert es, dass die Captions von den Controls in die .po eingetragen werden manchmal nicht.
Ich habe jetzt folgende Schritte gemacht (Lazarus 1.4.2 und Lazarus 1.5 gleichzeitig):
- neues Projekt erstellt
- in ein neues leeres Verzeichnis gespeichert
- in diesem Verzeichnis ein Verzeichnis "languages" erstellt
- in den Projekteinstellungen -> i18n -> i18n einschalten ... und das Verzeichnis "languages" gewählt
- in Lazarus 1.4.2 Haken bei .po Datei beim Speichern einer lfm Datei erstellen/aktualisieren gesetzt (bei Lazarus 1.5 fehlt diese Checkbox)
- ein Button auf dem Formular platziert
- in den uses DefaultTranslator als letzte Unit eingefügt
- ein resourcestring eingefügt:
Code: Alles auswählen
var
Form1: TForm1;
resourcestring
STest = 'This is a test';
Unter 1.4.2 wird ein project1.po wie folgt erstellt:
Code: Alles auswählen
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: tform1.button1.caption
msgid "Button1"
msgstr ""
#: tform1.caption
msgid "Form1"
msgstr ""
#: unit1.stest
msgid "This is a test"
msgstr ""
unter 1.5 folgender:
Code: Alles auswählen
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: unit1.stest
msgid "This is a test"
msgstr ""
Öffne ich jetzt mit 1.5 das von 1.4.2 erstellte Projekt und füge ein weiteren Button hinzu, wird dessen Caption in der .po aufgenommen
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Captions nicht in .po
Habe mir mal die project.lpi angesehen. Da steht:
Wenn ich dort das LFM="False" herausnehme, werden alle Captions auch unter 1.5 normal in die .po übertragen.
Das scheint also eine Projektoption zu sein, konnte aber nichts derartiges finden.
Weiss jemand etwas davon?!
[Edit]: Habe jetzt die Frage mal in der Mailing-List gestellt: http://lists.lazarus.freepascal.org/pipermail/lazarus/2015-September/094068.html
Code: Alles auswählen
<i18n>
<EnableI18N Value="True" LFM="False"/>
<OutDir Value="languages"/>
</i18n>
Wenn ich dort das LFM="False" herausnehme, werden alle Captions auch unter 1.5 normal in die .po übertragen.
Das scheint also eine Projektoption zu sein, konnte aber nichts derartiges finden.
Weiss jemand etwas davon?!
[Edit]: Habe jetzt die Frage mal in der Mailing-List gestellt: http://lists.lazarus.freepascal.org/pipermail/lazarus/2015-September/094068.html
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Captions nicht in .po
Ist im Trunk nun repariert worden und funktioniert jetzt wieder, wie im 1.4.2er Lazarus.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;