Ich versuche, gettext hinzufügen Lokalisierung Unterstützung für meine Website. Ich habe verschiedene Leitfäden für die Einrichtung gettext gefolgt und haben folgendes getan:PHP Gettext-Funktion gibt nur orignal nicht übersetzte Zeichenfolge
Ich habe die folgenden Dateien und Verzeichnisse in der Wurzel meines Projekts dir erstellt:
test.php
locale/
de_DE
LC_MESSAGES
messages.mo
messages.po
en_GB
LC_MESSAGES
messages.mo
messages.po
I Poedit verwendet haben um die obigen .po und mo Dateien zu erstellen. Ich habe es gemacht, verwenden Sie Unix-Zeilenendungen, UTF-8 und stellen Sie die Sprache und das Land entsprechend ein.
Ich habe erstellt dann ein PHP-Skript test.php, die den folgenden Code genannt:
<?php
define('LOCALE', 'de_DE');
// Set up environmental variables
putenv("LC_ALL=" . LOCALE);
setlocale(LC_ALL, LOCALE);
bindtextdomain("messages", "./locale");
bind_textdomain_codeset("messages", LOCALE .".utf8");
textdomain("messages");
die(gettext('This is a test.'));
?>
ich importiert haben den Text „Dies ist ein Test.“ zu Poedit und lieferte die Übersetzung und speicherte sie.
Aber aus irgendeinem Grund wird das Skript test.php nur den ursprünglichen Text nicht übersetzt. Es weigert sich, die Version für die Übersetzungsdateien zu laden.
Es ist erwähnenswert, dass auf dem Server Linux (Ubuntu), Apache 2.2.11 und PHP 5.2.6-3ubuntu4.5 läuft. Ich habe phpinfo()
überprüft und gettext ist aktiviert.
Kann mir jemand helfen? Vielen Dank.
Also, hat es funktioniert? War es in der Tat ein Problem in Verbindung mit einem fehlenden Gebietsschema oder etwas anderem? – bpedro
Ja! Es hat funktioniert. Vielen Dank für Ihre Hilfe. – Camsoft
Kein Problem! Es freut mich, dass ich helfen konnte! – bpedro