Ich versuche mein PHP-Projekt mit gettext zu übersetzen, aber es funktioniert nicht. PHP gibt gettext-String-Namen aus und nicht die eigentliche Übersetzung. .PO-Dateien in POeditor kompiliert.PHP gettext übersetzt nicht
Einstellung locale:
// $language = 'en';
// $domain is the same as .mo file name
putenv("LANG=" . $language);
putenv("LANGUAGE=" . $language);
setlocale(LC_ALL, $language); // Also tried with .utf8 at the end
bindtextdomain($domain, 'locale'); // Also tried full path
textdomain($domain);
PO-Datei: (in locale/de/LC_MESSAGES/filename.po)
msgid "SETUP_UI"
msgstr "User Interface"
msgid "SETUP_ACCOUNT"
msgstr "Account and Login"
... and so on
in PHP In Anlehnung an:
<?= gettext('SETUP_UI') ?>
Ja, ich probiert alles aus Stackoverflow - Googeln für mehr als 3 Stunden. Ich habe getText in PHP installiert, auch versucht, Apache neu zu starten, neu kompilieren .po-Dateien ...
Das Ergebnis in Browser ist:
SETUP_UI
Vielen Dank für Ihre Antworten.
Ja, ich weiß, aber POeditor kompiliert, während Dateien zu speichern. –
@SamuelIllo Befinden sich die .mo-Dateien im selben Gebietsschema/de/LC_MESSAGES/-Ordner? –
Ja, sie waren im selben Ordner ... aber ich löste das Problem tatsächlich, indem ich json-Dateien anstelle von gettext verwendete. Vielleicht wurde auch POedit Compiler beschädigt oder etwas ... –