Gettext, nicht angezeigt
-
08-07-2019 - |
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
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.