Frage

Ich versuche, meine .mo Übersetzungen mit dem folgenden Code zu laden, aber es funktioniert nicht. Ich habe die PHP gettext ext. aktiviert in meinem phpinfo () und alle erforderlichen locales installiert sind. Habe ich etwas verpasst?

$locale = "en_US";

putenv("LC_ALL=$locale");

setlocale(LC_ALL, $locale);

bindtextdomain("messages", "./locale");
textdomain("messages");

Meine .mo-Datei wird in ./locale/en_US/messages.mo befindet

War es hilfreich?

Lösung

Wenn ein Apache-Thread eine .mo-Datei lädt, es wird nicht neu geladen, bis der Apache-Thread zurückgeführt wird. Also, wenn Sie die .mo-Datei aktualisieren, und sicher sein wollen, dass Ihre PHP, dass neue .mo-Datei verwenden, müssen Sie tatsächlich entweder Neustart Apache oder einen anderen Namen für die mo-Datei verwenden.

Wie auch immer, würde ich die Umgebungsvariable LANG gesetzt.

Andere Tipps

Sie müssen wahrscheinlich den Pfad ändern, so dass es absolut ist, statt relativ.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top