Programm ohne Ressourcenstrings übersetzen?
Programm ohne Ressourcenstrings übersetzen?
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.
Re: Programm ohne Ressourcenstrings übersetzen?
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?
knight
PS: Der Menübefehl Quelltext -> Refactoring -> Ressourcenstring erzeugen... ist dir bekannt?
Re: Programm ohne Ressourcenstrings übersetzen?
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...
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...

- af0815
- Lazarusforum e. V.
- Beiträge: 6782
- 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?
.... hm ... manchmal nicht nur das Programm ....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...
SCNR
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Programm ohne Ressourcenstrings übersetzen?
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.
Re: Programm ohne Ressourcenstrings übersetzen?
Wenn du Fehler findest, solltest du sie im Bugtracker eintragen:
http://bugs.freepascal.org/" onclick="window.open(this.href);return false;
Am besten gleich mit einem Patch zur Reparatur.
http://wiki.lazarus.freepascal.org/Creating_A_Patch/de" onclick="window.open(this.href);return false;
http://bugs.freepascal.org/" onclick="window.open(this.href);return false;
Am besten gleich mit einem Patch zur Reparatur.
http://wiki.lazarus.freepascal.org/Creating_A_Patch/de" onclick="window.open(this.href);return false;
-
- 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?
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)
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)
-
- Beiträge: 320
- 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?
Ich habe da auch mal ein Programm für geschrieben, dass afair alle tr('') und Formulartexte sammelt, und dann zu den Ressourcestrings hinzufügt.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.
Das war auch mal veröffentlicht und hier im Forum verlinkt (kann aber sein, dass ich es inzwischen ausversehen gelöscht habe...)
-
- 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?
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/
Re: Programm ohne Ressourcenstrings übersetzen?
Finde die Übersetzungsstrategie von Lazarus voll kompliziert, nen Tag lang studiert und nix verstanden. 

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