i18n: .po Files einbinden

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Ich934
Lazarusforum e. V.
Beiträge: 316
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.2.0)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

i18n: .po Files einbinden

Beitrag von Ich934 »

Guten Morgen,

ich habe ein Projekt mit i18n, was an sich ganz gut funktioniert. Die .po-Files werden auch von anderen Personen übersetzt, was ebenfalls ganz gut klappt. Bei "normalen" Anwendungen nehm ich hier einfach den Ordner mit den .po-Files und verteile diesen mit, was keine große Sache ist.

Jetzt habe ich aber ein kleines Projekt, bei dem ich ebenfalls i18n aktiviert habe, jedoch nur eine Anwendungsdatei verteilen möchte. Gibt es eine Möglichkeit, die .po-Datei direkt in die Anwendung mit einzubinden?

Gefunden habe ich folgenden Link: https://forum.lazarus.freepascal.org/index.php?topic=35350.0

Wenn ich das aber richtig verstehe, so ist die .po-File dort zwar eingebunden, wir dann aber entpackt und der Ordner erzeugt. Das will ich hier eigentlich nicht, da ich mir sicher bin, dass der ein oder andere das Programm auf dem Desktop ablegt etc.

Schöne Grüße und vielen Dank.
Tipp für PostgreSQL: www.pg-forum.de

Benutzeravatar
six1
Beiträge: 782
Registriert: Do 1. Jul 2010, 19:01

Re: i18n: .po Files einbinden

Beitrag von six1 »

Hi,
Du könntest die Dateien im UserDir abspeichern:
https://www.freepascal.org/docs-html/rt ... erdir.html
Gruß, Michael

Ich934
Lazarusforum e. V.
Beiträge: 316
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.2.0)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: i18n: .po Files einbinden

Beitrag von Ich934 »

Hm, aber auch da hab ich eine extra Datei... Ist das den wirklich notwendig?
Tipp für PostgreSQL: www.pg-forum.de

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: i18n: .po Files einbinden

Beitrag von wp_xyz »

Wahrscheinlich kann das Übersetzungssystem so umgeschrieben werden, dass es auch mit MemoryStreams umgehen kann - ist halt etwas arbeit, die jemand machen muss.

Aber was ist das Problem mit dem Vorschlag von six1, für die ausgepackten Dateien das User-Verzeichnis oder "temp" zu nehmen? Das Extrahieren der po-Dateien aus den Programm-Resourcen muss ohnehin von deinem Programm vorgenommen werden, und da hast du die volle Kontrolle, wohin die Dateien gespeichert werden.

Ich934
Lazarusforum e. V.
Beiträge: 316
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.2.0)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: i18n: .po Files einbinden

Beitrag von Ich934 »

OK, ihr habt mich überzeugt. Hab das als Ressource eingebunden und entpacke das in das Temp-Verzeichnis des Benutzers. Problem damit gelöst. Danke trotzdem. :)
Tipp für PostgreSQL: www.pg-forum.de

Benutzeravatar
kupferstecher
Beiträge: 418
Registriert: Do 17. Nov 2016, 11:52

Re: i18n: .po Files einbinden

Beitrag von kupferstecher »

Das geht relativ einfach:

https://wiki.lazarus.freepascal.org/Eve ... le_running

Wichtig ist, dass man nach dem Packen der Lazarusressource die Unit, wo die Ressource eingebunden ist, veraendert (Leerzeile einfuegen/loeschen), damit sie neu kompiliert wird.

Ich934
Lazarusforum e. V.
Beiträge: 316
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.2.0)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: i18n: .po Files einbinden

Beitrag von Ich934 »

Die Lösung gefällt mir sogar noch besser! Vielen Dank!
Tipp für PostgreSQL: www.pg-forum.de

Antworten