Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Sprachdatei mit einkompilieren in eine Exe (https://www.delphipraxis.net/92220-sprachdatei-mit-einkompilieren-eine-exe.html)

DelphiManiac 16. Mai 2007 11:11


Sprachdatei mit einkompilieren in eine Exe
 
Hallo,

ich weiß, dass es zum Thema Mehrsprachigkeit von Programmen schone einige Beiträge hier im Forum gibt,
trotzdem, habe ich bis jetzt noch keine zufriedenstellende Lösung gefunden.

Nutze zurzeit Gettext, und liefere mit meiner Anwendung den Ordner ...\locale\XX\LC_MESSAGES
mit der Sprachdatei (*.mo) aus.

Ist aber ziemlich blöd, da es immer wieder Programmerweiterungen gibt, und der Kunde die Software neu installieren muss, anstatt nur die Exe auszutauschen.

Lange Rede... Kurzer Sinn..

Ich wollte euch fragen, ob es nicht auch geht, die Sprachdatei in eine Exedatei mit einzukompilieren, um der Auslieferung der blöden Datei zu umgehen??

Dank euch!!

Gruß
DelphiManiac

Boombuler 16. Mai 2007 14:58

Re: Sprachdatei mit einkompilieren in eine Exe
 
Hi,

da kannst du dich richtig kreativ betätigen... Aber ums einfach zu machen könntest du die Sprachdatei/en als Resource in dein Programm mit einbinden. Nimm dann einfach verschiedene Resourcenamen für die einzelnen Sprachen und lad die benötigte. Solltest hier im Forum einiges zum Thema Resourcen finden... Zum Auslesen kannst du z.B. TResourceStream verwenden!

MfG
Boombuler

DelphiManiac 16. Mai 2007 15:30

Re: Sprachdatei mit einkompilieren in eine Exe
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

habe gerade rausgefunden, dass man die mo-Datei(Sprachdatei von Gettext) mit an die Exe hängen kann,
mit rechte Maustaste 'embed translations'

siehe Screenshot,

trotzdem Danke an euch...

Assertor 16. Mai 2007 15:45

Re: Sprachdatei mit einkompilieren in eine Exe
 
Hallo,

leider habe ich den Thread eben erst gelesen, sonst hätt ich Dir das gleich gesagt ;)

Zitat:

Zitat von DelphiManiac
habe gerade rausgefunden, dass man die mo-Datei(Sprachdatei von Gettext) mit an die Exe hängen kann,
mit rechte Maustaste 'embed translations'

Ja, das geht. Aber nur, wenn die EXE nicht gepackt wird: gnugettext von dxgettext speichert die Position der Übersetzungen in einem Dummystring innerhalb der EXE.

Ich habe deswegen mal einen regen Mailaustausch mit dem Autoren Lars Dybdahl gehabt (Anfang 2007). Ich habe das ganze Ding dann umgeschrieben und den Identifikationsstring an die EXE gehängt. Dann geht es sogar mit UPX vor und nach dem Anhängen der Übersetzungen (inkl. Entpacken von EXEs die schon Übersetzungen dranhaben).

Er hat es aber leider bisher nicht geschafft die neue Version online zu stellen, weil er in seinem Startup so viel zu tun hat ;)

Gruß winkel79

DelphiManiac 21. Aug 2007 13:57

Re: Sprachdatei mit einkompilieren in eine Exe
 
@winkel79:

mmh, ja das man die exe dann nicht packen kann ist blöd....
Ich würde aber gerne die Exe in UPX packen und Gnu Gettext weiterverwenden,
würdest du / darfst du die editierte Version veröffentlichen, bzw
ist diese vielleicht schon öffentlich?

Gruß

Assertor 21. Aug 2007 17:38

Re: Sprachdatei mit einkompilieren in eine Exe
 
Hi DelphiManiac

Zitat:

Zitat von DelphiManiac
@winkel79:

mmh, ja das man die exe dann nicht packen kann ist blöd....
Ich würde aber gerne die Exe in UPX packen und Gnu Gettext weiterverwenden,
würdest du / darfst du die editierte Version veröffentlichen, bzw
ist diese vielleicht schon öffentlich?

Gruß

Also, ich möchte die Version hier nicht "öffentlich" machen, da ich es lieber Lars überlasse einen zentralen Ort für den offiziellen Download zu haben. Aber allein schon wegen der Lizenz kann jeder mich gerne Fragen. Online ist die neue Fassung bei ihm noch nicht, wir hatten ein paar mal gesprochen, aber er hat mit seiner neuen Firma zu viel zu tun...

Gruß winkel79

P.S.: Du hast gleich Post... Einfach die Dateien in das dxGettext Verzeichnis. Und die gnugettext.pas auch in die Erreichbarkeit Deines Compilers legen. Bitte keinen Versionsmix mit verschiedener gnugettext.pas und assemble.exe bzw. ggassemble.exe. Sonst geht das natürlich nicht.

McSquirrel 24. Okt 2010 21:33

AW: Sprachdatei mit einkompilieren in eine Exe
 
Zitat:

Zitat von Assertor (Beitrag 664836)
Online ist die neue Fassung bei ihm noch nicht

Hallo,

wie Assertor mir gerade auf Anfrage mitteilte, ist seine Lösung inzwischen in das Projekt eingeflossen :-D

Allerdings gibt es derzeit noch keinen neuen Download, d.h. man muss sich die Delphi-Quelldateien zu assemble.exe und ggassemble.exe aus dem SVN herunterladen und selbst kompilieren. Im SVN gibt es auch die aktuelle gnugettext.pas.

Hier der Link mit allen Infos zum SVN-Repository des Projekts:
http://developer.berlios.de/svn/?group_id=3252


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz