Programm ohne Ressourcenstrings übersetzen?

Rund um die LCL und andere Komponenten
Antworten
iXela
Beiträge: 17
Registriert: Mo 16. Jan 2012, 21:18

Programm ohne Ressourcenstrings übersetzen?

Beitrag von iXela »

Ist es möglich ein Programm mit Lazarus allein ohne Ressourcenstrings zu überetzen? Diese kosten nähmlich viel Zeit, diese ganze schreiberei. GNU Gettext macht das besser finde ich, liest einfach alle Strings im Quelltext und fertig.

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

Re: Programm ohne Ressourcenstrings übersetzen?

Beitrag von knight »

Lazarus verwendet gettext, um aus den Ressourcenstrings eine po Datei zu erzeugen (bei Bedarf automatisch). Mich würde es eher stören, wenn ein Programm alle Strings (ungefragt) umwandelt. Damit Lazarus erkennen kann, wann eine Übersetzung gewünscht ist, werden die Ressourcenstrings verwendet.

knight

PS: Der Menübefehl Quelltext -> Refactoring -> Ressourcenstring erzeugen... ist dir bekannt?

iXela
Beiträge: 17
Registriert: Mo 16. Jan 2012, 21:18

Re: Programm ohne Ressourcenstrings übersetzen?

Beitrag von iXela »

Ne kenne ich nicht, was ist damit?

Arbeite jetzt seit ein paar Tagen mit Lazarus und irgendwie bekommen ich den Eindruck, dass hier nicht alles so richtig funktioniert. Das verhält sich alles irgendwie komisch, nicht sicher... hm... :|

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Programm ohne Ressourcenstrings übersetzen?

Beitrag von af0815 »

iXela hat geschrieben:Arbeite jetzt seit ein paar Tagen mit Lazarus und irgendwie bekommen ich den Eindruck, dass hier nicht alles so richtig funktioniert. Das verhält sich alles irgendwie komisch, nicht sicher... hm... :|

.... hm ... manchmal nicht nur das Programm ....

SCNR
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

iXela
Beiträge: 17
Registriert: Mo 16. Jan 2012, 21:18

Re: Programm ohne Ressourcenstrings übersetzen?

Beitrag von iXela »

Ich meine Lazarus hat so einige Fehler, z.B. kann XMLPropStorage kein leeres Edit speichern. Wenn man ein Text abgespeichern hat, bekommt man es nie mehr weg, min. ein Zeichen bleibt stehen. Aber ok, es ist ein anderes Thema.

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Programm ohne Ressourcenstrings übersetzen?

Beitrag von theo »

Wenn du Fehler findest, solltest du sie im Bugtracker eintragen:
http://bugs.freepascal.org/
Am besten gleich mit einem Patch zur Reparatur.
http://wiki.lazarus.freepascal.org/Creating_A_Patch/de

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Programm ohne Ressourcenstrings übersetzen?

Beitrag von Targion »

In der Regel setzt man vor den zu übersetzenden String einen aufruf der Übersetzungsfunktion, bei gettext ist das in der regel "_". So wird dann z.B. aus dem string 'Dies ist ein Text' der Aufruf _('Dies ist ein Text'), wenn man eine Übersetzung will. Xgettext läuft dann durch den quellcode und erstellt eine resource aus allen strings, die von "_()" aufgerufen werden.
Die Methode mit resourcestrings in Lazarus fand ich immer extrem aufwändig und unflexibel, habe daher irgendwann mal (ich glaube mittels TMoFile) eine entsprechende funktion geschrieben... Weiß aber nicht mehr, wo die geblieben ist. In jedem fall wäre sowas auch eine überlegung wert, wenn du nicht für jeden string einen resourcestring anlegen willst. (mit tricks kann xgettext auch mit Pascal umgehen)

BeniBela
Beiträge: 309
Registriert: Sa 21. Mär 2009, 17:31
OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
CPU-Target: 64 Bit

Re: Programm ohne Ressourcenstrings übersetzen?

Beitrag von BeniBela »

Targion hat geschrieben:.
Die Methode mit resourcestrings in Lazarus fand ich immer extrem aufwändig und unflexibel, habe daher irgendwann mal (ich glaube mittels TMoFile) eine entsprechende funktion geschrieben... Weiß aber nicht mehr, wo die geblieben ist. In jedem fall wäre sowas auch eine überlegung wert, wenn du nicht für jeden string einen resourcestring anlegen willst.

Ich habe da auch mal ein Programm für geschrieben, dass afair alle tr('') und Formulartexte sammelt, und dann zu den Ressourcestrings hinzufügt.
Das war auch mal veröffentlicht und hier im Forum verlinkt (kann aber sein, dass ich es inzwischen ausversehen gelöscht habe...)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Programm ohne Ressourcenstrings übersetzen?

Beitrag von Christian »

Ich wiederhole nochmal den Kommentar von Knight, ist nämlich noch viel bequemer als C gettext
:
PS: Der Menübefehl Quelltext -> Refactoring -> Ressourcenstring erzeugen... ist dir bekannt?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

iXela
Beiträge: 17
Registriert: Mo 16. Jan 2012, 21:18

Re: Programm ohne Ressourcenstrings übersetzen?

Beitrag von iXela »

Finde die Übersetzungsstrategie von Lazarus voll kompliziert, nen Tag lang studiert und nix verstanden. :roll:

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Programm ohne Ressourcenstrings übersetzen?

Beitrag von Christian »

Kann ich nicht nachvollziehn wo hakts denn mit dem verständnis
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten