/Commandos GNU Gettext ext
Jojo
- php
0 Vinzenz Mai0 Jojo
0 Thomas W.
Hallo Leute
Ich habe mir vor einiger Zeit ein PHP Buch, das den Titel "PHP de Luxe" trägt, gekauft
In diesem Buch wird unteranderem auch die PHP-Extension "gettext" vorgestellt
An sich ist diese Extension auch IMHO leicht selbst du programmieren
---> Halt mit einigen Workarounds ^^
Aber BBT ;)
Ich habe eine PHP-Datei:
<?php
gettext("Hallo das ist ein Test");
gettext("und noch einer !");
?>
So... bevor n paar leute anfangen zu schreien:
---> Das ist eine ganz billige Testdatei !
---> Ich weiß, dass davor noch sachen wie "setlocale" o.ä. kommen ;)
Also gut.
Ich habe nun eine datei. ^^
In dem Buch steht dann:
'Am besten wird hier der Kommandozeilenbefehl xgettext verwendet. Folgende Zeile generiert ein Grundgerüst der Datei myapp.po.
xgettext -C test.php -o myapp.po --keyword=gettext'
So... nun das Problem
wenn ich in meiner cmd.exe das eingebe, kommt ein Fehler, dass er das Programm xgettext nich starten kann.
Gut !
Dann dachte ich mir, dass das vielleicht irgendwie mit PHP direkt zusammen hängt:
also eine PHP-Datei geschrieben:
<?php
shell_exec("xgettext -C test.php -o test.po --keyword=gettext");
?>
Aber das funktioniert auch nicht !
Ich bin leider jetzt schon mit meinem Wissen über solche Sachen am Ende :.-(
Es sollte ansich dann eine Datei erscheinen, die so aussieht:
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Hallo das ist ein Test"
msgstr ""
msgid "und noch einer !"
msgstr ""
Zu guter letzt noch ein paar infos über mein OS ;) :
PHP 5.0.2 und 5.0.3
Win XP Prof.
IIS 5.0 (bin mir aber nich sicher)
---> läuft als cgi-script
Ich hoffe ihr könnt mit meinen Infos was anfangen.
Hallo Jojo,
wenn ich in meiner cmd.exe das eingebe, kommt ein Fehler, dass er das Programm xgettext nich starten kann.
Microsoft ist nicht unbedingt dafür bekannt, dass GNU-Utilities bei seinen Produkten mitinstalliert werden. ;-) Bei meinen Linuxrechnern ist es dabei, zu finden unter /usr/bin/xgettext (und somit im Suchpfad).
Zu guter letzt noch ein paar infos über mein OS ;) :
PHP 5.0.2 und 5.0.3
Win XP Prof.
IIS 5.0 (bin mir aber nich sicher)
Vielleicht gibt es ja ein Binary für Win32, vielleicht könntest Du Dir mit Cygwin behelfen, vielleicht möchtest Du sogar auf Linux umsteigen.
Freundliche Grüße
Vinzenz
Hallo
es ist so:
Ich möchte einfach nur mal ausprobieren, was diese Extension für sachen kann und so.
In dem Buch steht, dass das ding saumäßig performant is und relativ einfach zu handhaben ist !
Ist es auch, wenn es funktioniert ^^
Microsoft ist nicht unbedingt dafür bekannt, dass GNU-Utilities bei seinen Produkten mitinstalliert werden. ;-) Bei meinen Linuxrechnern ist es dabei, zu finden unter /usr/bin/xgettext (und somit im Suchpfad).
ftp://sunsite.cnlab-switch.ch/mirror/gnu/gettext/
Da habe ich das hier runtergeladen
die beiden bins für win !
Aber wie ich dann das kommand ausführen kann is mir schleierhaft :-/
vielleicht möchtest Du sogar auf Linux umsteigen.
naja... als Microsoft Certified System Administrator sollte ich dann doch bei WinXP bleiben ;)
Aber diese Aktion mit Kommandos ist in dem Buch leider total oft der Fall. Die machen recht viel mit Kommandos... :-/ . Das hab ich halt immer so im Raum stehen lassen ;)
Mein Problem ist wahrscheinlich, dass ich dieses Gettext irgendwie installieren muss.
In der Readme steht, dass man das Komanndo "make install" ausführen soll...
Aber bei welcher Datei ?!?!?!?!?!?!
Wenn ich die dateien aus dem bin Ordner nach system32 kopiert habe, kann immer die Meldung:
Der Prozedureinsprungspunkt "libiconv_set_relocation_prefix" wurde in der DLL "iconv.dll" nicht gefunden.
Diese Fehlermeldung kann ich leider mit meinem Wissen nicht gut genug interpretieren.
Aber ich denke mal, dass dem irgendwas an der iconv.dll nich passt.
Diese Datei war schon im system32 Ordner, bevor ich die Dateien reinkopiert hatte !
---> Das heißt, dass des irgendwas von PHP oder dirket von Windoof ist !
Aber ich glaube, nicht, dass ich die dll jetzt bearbeiten muss.
Hi,
naja... als Microsoft Certified System Administrator [...]
Keine Angst, ich benutze einfache Worte.
Aber diese Aktion mit Kommandos ist in dem Buch leider total oft der Fall. Die machen recht viel mit Kommandos... :-/ . Das hab ich halt immer so im Raum stehen lassen ;)
Auch Windows kann mit schriftlichen Kommandos umgehen, die Bequemlichkeit laesst nur mitunter zu wuenschen uebrig.
Mein Problem ist wahrscheinlich, dass ich dieses Gettext irgendwie installieren muss.
Nien, das ist nicht direkt Dein Problem.
In der Readme steht, dass man das Komanndo "make install" ausführen soll...
Aber bei welcher Datei ?!?!?!?!?!?!
Bei gar keiner Datei, der mittels der Option 'f' angegebenen Datei bzw der Datei 'GNUmakefile', 'makefile' oder 'Makefile' (in der Reihenfolge). Die letztgenannten Dateien werden automatisch gefunden, wenn welche da sind.
Wenn ich die dateien aus dem bin Ordner nach system32 kopiert habe, kann immer die Meldung:
Der Prozedureinsprungspunkt "libiconv_set_relocation_prefix" wurde in der DLL "iconv.dll" nicht gefunden.
Ist denn die Datei dieses Namens vorhanden?
Diese Fehlermeldung kann ich leider mit meinem Wissen nicht gut genug interpretieren.
Das sagtest Du bereits.
Aber ich denke mal, dass dem irgendwas an der iconv.dll nich passt.
Ja, diese Vermutung ist korrekt.
---> Das heißt, dass des irgendwas von PHP oder dirket von Windoof ist !
Wenn Du sonst nichts anderes installiert hast duerfte das der Fall sein.
Die Schnellansicht von Windows kann einige der enthaltenen Informationen einer DLL lesen. Wenn Du Glueck hast.
Aber ich glaube, nicht, dass ich die dll jetzt bearbeiten muss.
Ich glaube, nein, ich bin mir sicher, das Du das nicht kannst.
Bitte informiere Dich bei http://gnuwin32.sourceforge.net/ ueber die GNU-Produkte und deren Verwendung unter einer Win32-Umgebung. Dort werden auch einige Erleichterungen bezueglich Installation und Wartung angeboten.
so short
Christoph Zurnieden
Keine Angst, ich benutze einfache Worte.
Hab ich doch ^^. Ich kann/darf nicht auf Linux umsteigen, sonst werde ich in meiner weiter Laufbahn einige Probleme haben :-/
Bei gar keiner Datei, der mittels der Option 'f' angegebenen Datei bzw der Datei 'GNUmakefile', 'makefile' oder 'Makefile' (in der Reihenfolge). Die letztgenannten Dateien werden automatisch gefunden, wenn welche da sind.
Das verstehe ich nun wieder nicht ...
Ist denn die Datei dieses Namens vorhanden?
Ja ist sie.
hab ich aber glaub ich schon geschrieben ;)
Bitte informiere Dich bei http://gnuwin32.sourceforge.net/ ueber die GNU-Produkte und deren Verwendung unter einer Win32-Umgebung. Dort werden auch einige Erleichterungen bezueglich Installation und Wartung angeboten.
ahhh... das hört sich doch mal gut an !
Nur irgendwie scheint das auch nich so richtig zu funktionieren :-/
Hi,
Keine Angst, ich benutze einfache Worte.
Hab ich doch ^^.
Die brauchst Du erst zu haben, wenn Du mich bei euch in der Firma herumstiefeln siehst und Du nicht der einzige MS-zertifizierte bist.
Ich kann/darf nicht auf Linux umsteigen, sonst werde ich in meiner weiter Laufbahn einige Probleme haben :-/
Es verlangt niemand von Dir von irgendetwas auf irgendetwas anderes umzusteigen. Als Systemadministrator musst Du einfach alles in den Grundzuegen beherrschen und wissen, wo Du den Rest nachschlagen kannst.
Ist denn die Datei dieses Namens vorhanden?
Ja ist sie.
hab ich aber glaub ich schon geschrieben ;)
Habe ich nicht gefunden.
Macht aber auch nix, denn Du wirst ja wohl kein Programm namens 'make' o.ae. zur Verfuegung haben.
Bitte informiere Dich bei http://gnuwin32.sourceforge.net/ ueber die GNU-Produkte und deren Verwendung unter einer Win32-Umgebung. Dort werden auch einige Erleichterungen bezueglich Installation und Wartung angeboten.
ahhh... das hört sich doch mal gut an !
Nur irgendwie scheint das auch nich so richtig zu funktionieren :-/
_Was_ funktioniert denn nicht richtig? Hast Du auch eine konkrete Fehlerbeschreibung?
Bist Du den Anweisungen von http://gnuwin32.sourceforge.net/install.html genau gefolgt? Gibt es Fragen die die FAQ unter http://gnuwin32.sourceforge.net/faq.html nicht beantwortet? Oder die Beschreibung zur Compilation unter http://gnuwin32.sourceforge.net/compile.html?
Wenn Du der englischen Sprache nicht ausreichend maechtig bist, dann sage das bitte auch.
so short
Christoph Zurnieden
Bitte informiere Dich bei http://gnuwin32.sourceforge.net/ ueber die GNU-Produkte und deren Verwendung unter einer Win32-Umgebung. Dort werden auch einige Erleichterungen bezueglich Installation und Wartung angeboten.
ahhh... das hört sich doch mal gut an !
Nur irgendwie scheint das auch nich so richtig zu funktionieren :-/_Was_ funktioniert denn nicht richtig? Hast Du auch eine konkrete Fehlerbeschreibung?
Bist Du den Anweisungen von http://gnuwin32.sourceforge.net/install.html genau gefolgt? Gibt es Fragen die die FAQ unter http://gnuwin32.sourceforge.net/faq.html nicht beantwortet? Oder die Beschreibung zur Compilation unter http://gnuwin32.sourceforge.net/compile.html?
Ahhh... ich hab meinen Fehler gefunden !
---> Musste den Installationsordner noch in die Systemvariable "Path" eintragen !
=> Es funktioniert !
Wenn Du der englischen Sprache nicht ausreichend maechtig bist, dann sage das bitte auch.
Also das bin ich ;)
Danke für die Beiträge !
Hallo,
In diesem Buch wird unteranderem auch die PHP-Extension "gettext" vorgestellt
Du willst Dich ueber die GNU gettext (ich nehme mal an, dass PHP dazu eine Schnittstelle hat) informieren.
In dem Buch steht dann:
'Am besten wird hier der Kommandozeilenbefehl xgettext verwendet.
Dieses Kommando gehoert zu GNU gettext. Evtl. gibt es eine Portierung auf Cygwin, dann empfehle ich Dir die.
msgid "Hallo das ist ein Test"
msgstr ""
Hier empfehle ich Dir, als msgid (d.h. die 'Hauptstrings' im Text) lieber die englische Variante zu waehlen. Die Anzahl der deutschen Muttersprachler mit Englisch-Kenntnissen duerfte doch groesser sein als die Anzahl der Leute mit umgekehrten Kenntnissen. Ausserdem hast Du dann mit den msgid Strings keine Zeichensatzprobleme.
Was ich jetzt aber immer noch nicht verstehe: was willst Du damit eigentlich machen?
Gruss
Thomas