Lazreport

Rund um die LCL und andere Komponenten
Antworten
Kuster Peter
Beiträge: 205
Registriert: So 2. Dez 2007, 20:47
OS, Lazarus, FPC: Windows XP Lazarus immer neueste Version
CPU-Target: xxBit
Wohnort: Schweiz

Lazreport

Beitrag von Kuster Peter »

Bin am verzweifeln. Wenn ich im Editiermodus ein TfrREport auf das Form ziehe und einen Doppelklick darauf mache, dann erscheinen die Titel Datei, Bearbeiten und Schliessen auf Deutsch. Mache ich jedoch einen Button mit folgendem Befehl frReport1.DesignReport; und mache ein PRG, erscheinen die Titel in Englisch. Habe schon in der Wiki nachgesehen und versucht die Anleitungen zu befolgen, doch entweder geht es nicht oder es nützt nichts.

Peter

Kuster Peter
Beiträge: 205
Registriert: So 2. Dez 2007, 20:47
OS, Lazarus, FPC: Windows XP Lazarus immer neueste Version
CPU-Target: xxBit
Wohnort: Schweiz

Re: Lazreport

Beitrag von Kuster Peter »

Hat wirklich keiner eine Lösung. Bin am verzweifeln.
Peter

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Lazreport

Beitrag von knight »

Möglicherweise sind den entsprechenden Stellen keine Ressourcenstrings zugewiesen (da dürfte ein Blick in den Quelltext weiterhelfen). Ohne diese gibt es auch keine Einträge in den .po Dateien und damit keine Übersetzung. Als Notlösung kannst du im Quelltext deutsche Begriffe eintragen und dann einmal neu kompilieren.

knight

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Lazreport

Beitrag von monta »

Hast du translation eingebunden und TranslateUnit...?

http://www.lazarusforum.de/viewtopic.php?t=1563" onclick="window.open(this.href);return false;
http://www.lazarusforum.de/viewtopic.php?t=509" onclick="window.open(this.href);return false;
Johannes

Kuster Peter
Beiträge: 205
Registriert: So 2. Dez 2007, 20:47
OS, Lazarus, FPC: Windows XP Lazarus immer neueste Version
CPU-Target: xxBit
Wohnort: Schweiz

Re: Lazreport

Beitrag von Kuster Peter »

Leider bin ich nicht weitergekommen.

Ich habe gemäss Muster von Monta in uses translations eingefügt und dann in On Create:
TranslateUnitResourceStrings('LCLStrConsts', 'D:\lazarus\components\lazreport\source\languages\lr_const.de.po');

Der Button hat folgenden Code:

frReport1.DesignReport;

Wenn ich im EditierModus auf den FrReport Button klicke, dann erscheint alles in Deutsch, doch sobald es umgewandelt ist, erscheint es in Englisch.

Zu knight: Würde auch den Quelltext abänder, doch welche Datei ist das?

Gruss
Peter

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Lazreport

Beitrag von monta »

du musst aber dir richtige Datei übersetzen ;)

Code: Alles auswählen

TranslateUnitResourceStrings('lr_const.pas', 'D:\lazarus\components\lazreport\source\languages\lr_const.de.po')
LCLStrConst enthält ja die Stingkonstanten der LCL, aber die Ressourcenstrings von Lazreport liegen in der Datei lr_const, welche wie die Übersetzung im Paketverzeichnis von Lazreport liegt.
Johannes

Kuster Peter
Beiträge: 205
Registriert: So 2. Dez 2007, 20:47
OS, Lazarus, FPC: Windows XP Lazarus immer neueste Version
CPU-Target: xxBit
Wohnort: Schweiz

Re: Lazreport

Beitrag von Kuster Peter »

Hallo Monta

Tönt einleuchtend und habe es probiert, leider ohne Erfolg. Habe sogar noch probiert, lr_conts.pas den Pfad beizufügen und dann habe ich noch mit / anstelle von \ probiert. Alles ohne Erfolg. Es erscheint immer noch englisch. Muss wahrscheinlich den lr_const.pas von Hand umschreiben und dann nochmals kompilieren und dann nochmals einfügen. Oder hast noch ein Tipp.

Gruss
Peter

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Lazreport

Beitrag von monta »

Ich war der festen Überzeugung, das es so gehen muss...aber hast recht, es wird wirklich nichts übersetzt...die Frage ist nur, wieso das nicht funktioniert, somal zumindest bei mir TranslateUnit... ein true zurück liefert.
Johannes

Kuster Peter
Beiträge: 205
Registriert: So 2. Dez 2007, 20:47
OS, Lazarus, FPC: Windows XP Lazarus immer neueste Version
CPU-Target: xxBit
Wohnort: Schweiz

Re: Lazreport

Beitrag von Kuster Peter »

Was bleibt, muss man die lr_const.pas selber übersetzen. Ist eine grosse Arbeit, würde ich aber auf mich nehmen, wenn es der einzige Weg ist. Wäre mir aber lieber, wenn es einen einfacheren Weg gibt.

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Lazreport

Beitrag von monta »

Würde ich nicht machen, die po-Datei ist ja nicht aus Spaß da, also wäre es wohl wesentlich einfacher, den Fehler zu finden, warum die nicht als Translation eingelesen wird.

//ich habs:

das '.pas' muss weg, mit

Code: Alles auswählen

TranslateUnitResourceStrings('lr_const', 'lr_const.de.po')
funktioniert es wunderbar, und alles ist deutsch. (Pfad natürlich ggf. anpassen, aber du musst die po-Datei mit liefern, da sie zur Laufzeit geladen wird. Absolute Pfade nützen also eh nichts.
Johannes

Kuster Peter
Beiträge: 205
Registriert: So 2. Dez 2007, 20:47
OS, Lazarus, FPC: Windows XP Lazarus immer neueste Version
CPU-Target: xxBit
Wohnort: Schweiz

Re: Lazreport

Beitrag von Kuster Peter »

Hey Monta Du bist mein Held. Hey suuuuuuuupppppppeeeeeer.

Bei mir muss ich aber noch den Pfad angeben:

Code: Alles auswählen

TranslateUnitResourceStrings('lr_const', 'D:\lazarus\components\lazreport\source\languages\lr_const.de.po')
So läuft es bestens. Vielen herzlichen Dank.

Peter

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Lazreport

Beitrag von monta »

Was den Pfad angeh, meinte ich ja, das du sie vielleicht gleich ins Anwendungsverzeichnis legen sollst, bspw. in nen Unterordner language und dann lediglich relativ zur Exe den Pfad des unterordners angibst. Da einen festen Pfad anzugeben ist etwas problematisch.

Wenn du es so machst, und deine Anwendung weiter gibts hat der nächste es wieder in English...es sei den, er hat rein zufällig Lazarus auch im selben ordner auf D installiert, nur wie groß ist die Chance ;)
Johannes

Kuster Peter
Beiträge: 205
Registriert: So 2. Dez 2007, 20:47
OS, Lazarus, FPC: Windows XP Lazarus immer neueste Version
CPU-Target: xxBit
Wohnort: Schweiz

Re: Lazreport

Beitrag von Kuster Peter »

Da haste voll recht. Ich dachte er kompiliert die Daten ins Exe. Also muss man die po immer mitgeben. Wäre noch gut, wenn man diese gleich ins Exe einbinden könnte.

Peter

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Lazreport

Beitrag von monta »

Es wird halt leider nicht einkompiliert.

Man kann es als Ressource mitgeben, aber mir ist kein Weg bekannt, das dann anzuwenden, ohne nicht wenigstens wieder eine temporäre Datei zu erstellen.
Johannes

Antworten