AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Übersetzung mit GNU Gettext (Fehler nach Komprimierung)
Thema durchsuchen
Ansicht
Themen-Optionen

Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

Ein Thema von DelphiManiac · begonnen am 14. Jul 2008 · letzter Beitrag vom 24. Okt 2010
Antwort Antwort
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#1

Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

  Alt 14. Jul 2008, 09:29
Hallo,

ich habe mein Programm 2-sprachig mit Gettext übersetzt, nun habe ich ja die Möglichkeit, die Sprachdatei mit an die Exe "zu hängen".

Jetzt habe ich die Exe in ein Zip gepackt und wieder entpackt, dann ist es so, dass meine Übersetzung nicht mehr geht...

Liegt das an der Komprimierung,

und was kann man dagegen tun?

Viele Grüße
DelphiManiac
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

  Alt 14. Jul 2008, 19:00
Guten Abend,

das kann ich mir kaum vorstellen, das durch komprimieren und dekomprimieren
die ExeDatei beschädigt wird. Erstelle doch vor der Komprimierung eine checkSumme
und vergleiche sie mit der checkSumme der wieder ausgepackten Datei.
Sind diese gleich, so kann man davon ausgehen, dass auch die Dateien gleich sind.
Dann dürfte Dein Problem woanders zu suchen sein.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#3

Re: Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

  Alt 15. Jul 2008, 08:19
Ja da hast du wahrscheinlich recht,

das Problem liegt wohl an der Recompilierung.
Wenn ich die Datei angehängt habe und dann neu compiliere, dann ist meine Übersetzung futsch...
Gibt es eine Möglichkeit das automatisiert mit der Compilierung zu machen?
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

  Alt 15. Jul 2008, 08:23
Zitat von DelphiManiac:
Gibt es eine Möglichkeit das automatisiert mit der Compilierung zu machen?
Welche Delphi-Version benutzt du? Ich glaube ab Delphi 2006 (?) gibt es die Möglichkeit, Pre- und Postbuild-Ereignisse zu definieren. Unter Projekt > Optionen kannst du da eine Batchdatei eintragen, die wird dann zumindest bei Builds (ich glaube nicht bei simpler Kompilierung) ausgeführt
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

  Alt 15. Jul 2008, 08:27
Oder hänge die Datei als Resource an die Exe. Die wird auch jedesmal automatisch mit eingebunden.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#6

Re: Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

  Alt 15. Jul 2008, 08:40
Zitat von Union:
Oder hänge die Datei als Resource an die Exe. Die wird auch jedesmal automatisch mit eingebunden.
Das geht mit gnugettext nicht. Soweit ich weiß, schreibt der dxgettext Patcher die Position der angehängten Übersetzungen selbst in eine Signatur mitten in den Bytecode der EXE. Das ist auch der Grund, warum es nicht möglich ist, die Dateien mit UPX und ähnlich zu packen UND eine Übersetzung anzuhängen.

Ich hatte Lars Dybdahls vor ein paar Jahren mal eine bessere Lösung geschickt (Signatur vom Patcher mit relativem Offset an die EXE angehängt) - trotzdem hat er sie in 1.2.2 noch nicht eingearbeitet. Da werd ich mal nachfragen, sobald ich Zeit hab...

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#7

Re: Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

  Alt 17. Jul 2008, 12:44
Heißt das also,

dass sobald ich die Exe als Zip packe und an meine Kunden verschicke, so ist die angehängte Übersetzungsdatei futsch und die Übersetzung funzt nicht mehr???
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#8

Re: Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

  Alt 17. Jul 2008, 12:53
Zitat von DelphiManiac:
Heißt das also,
dass sobald ich die Exe als Zip packe und an meine Kunden verschicke, so ist die angehängte Übersetzungsdatei futsch und die Übersetzung funzt nicht mehr???
Äh, nein. Absolut nicht.

Wenn Du die EXE neu erstellt, ist natürlich alles angehängte weg. Das ist Dein Problem mit der "Rekompilierung". Aber ein ZIP - genau wie jede andere verlustlose Kompression - darf und wird NIE NIE NIE die enthaltenen Daten ändern.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#9

Re: Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

  Alt 17. Jul 2008, 13:58
Ja da hast du vollkommen recht.

Nunja wer lesen kann ist klar im Vorteil:

Aus der Anleitung:
(hätte ich mir wohl mal vorher die 100 Seiten zur Brust nehmen müssen )

Zitat:
6. Give your translations to us, so that other people may use your translation.
In order to have one .exe file that contains everything, including the translations,
you can now click with the right mouse button on the executable, and choose
"Embed translations". This will append the default.mo file, that is in the
locale\LL\LC_MESSAGES subdirectory into the .exe file. Please note that you have
to do this every time that you have compiled and generated a new .exe file.
  Mit Zitat antworten Zitat
McSquirrel

Registriert seit: 23. Okt 2010
Ort: Hessen
2 Beiträge
 
Delphi 6 Personal
 
#10

AW: Re: Übersetzung mit GNU Gettext (Fehler nach Komprimierung)

  Alt 24. Okt 2010, 21:28
[QUOTE=Assertor;803323]
Zitat von Union:

Ich hatte Lars Dybdahls vor ein paar Jahren mal eine bessere Lösung geschickt (Signatur vom Patcher mit relativem Offset an die EXE angehängt) - trotzdem hat er sie in 1.2.2 noch nicht eingearbeitet. Da werd ich mal nachfragen, sobald ich Zeit hab...

Gruß Assertor
Huhu,

hatte gerade sehr netten Kontakt zu Assertor, und er teilte mir mit, dass seine Lösung inzwischen in das Projekt eingeflossen ist. 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:

http://developer.berlios.de/svn/?group_id=3252
Manuel
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 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