Deutsch English
Programmierung Read this post in English

Komische Fehlermeldung in Poedit

Ich arbeite zur Zeit an einem PHP-Projekt, das Möglichkeiten zur Internationalisierung bieten soll, d.h. man soll die Anwendung mit möglichst wenig Aufwand in jede beliebige Sprache übersetzen können. Da ich durch WordPress bereits die Funktionsweise von gettext kennengelernt hatte und von dessen Einfachheit und Effektivität hellauf begeistert war, entschied ich mich, dieses System auch für mein Projekt zu nutzen. Das hat auch hervorragend funktioniert, und ich kann gettext nur jedem empfehlen, der eine mehrsprachige Anwendung entwickeln will!

Als ich aber anschließend meine Dateien von Poedit auf Textbausteine parsen lassen wollte, erhielt ich immer nur folgende Fehlermeldung:

Befehlsausführung ‚dxgettext –so „C:\***\Temp\poe***.tmp“ „irgendein/pfad/datei.inc“‘ schlug fehl (Fehler 2: das System kann die angegebene Datei nicht finden.

Inzwischen habe ich den Fehler gefunden – da ich aber damals bei meiner Google-Suche nirgends eine Lösung auftreiben konnte, schreibe ich sie hier mal nieder für alle, die in Zukunft vielleicht danach suchen.

Im Nachhinein betrachtet erklärt die Fehlermeldung eigentlich alles: Poedit hat versucht, den Befehl dxgettext auf eine meiner Include-Dateien (datei.inc) anzuwenden, aber auf dem Rechner wurde kein Programm namens dxgettext gefunden. Wie auch – bei dxgettext handelt es sich um den gettext-Parser für die Programmiersprache Delphi, und den habe ich nicht installiert. Schließlich schreibe ich mein Skript ja in PHP und nicht in Delphi. Poedit aber hält standardmäßig alle Dateien mit der Endung .inc für Delphi-Dateien und versucht sie deshalb mit dxgettext zu parsen.

Lösung

Poedit Parser-Optionen

Poedit Parser-Optionen

Man hat zwei Möglichkeiten:

  1. Man benennt die problematische datei.inc einfach um, sodaß sie wieder eine Endung hat, die Poedit als PHP-Datei erkennt, also z. B. datei.inc.php.
  2. Man sagt Poedit, daß es .inc-Dateien nicht mehr als Delphi-Dateien behandeln soll. Dazu nimmt man einfach unter „Datei“ → „Einstellungen“ → „Parser“ → „Delphi“ die Endung *.inc aus der Liste heraus. Nun wird Poedit alle .inc-Dateien ignorieren.


Kommentieren

Erlaubtes HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <p> <pre lang="" line="" escaped=""> <q cite=""> <strike> <strong> <img src="" alt="" class="" width="" height=""> | Codeschnipsel können in `backticks` gepostet werden. Beispiel: `<?php echo "Hi!"; ?>`