Ich habe die Anweisungen von How to load language with gettext in PHP?Wie gegettext auf Linux in PHP zu verwenden?
ich erstellt habe ./locale/pl_PL/LC_MESSAGES/default.po mit file:
msgid "categories"
msgstr "kategorie"
I mo-Datei generiert haben:
msgfmt default.po -o default.mo
und ich habe Code wie folgt:
$lang = 'pl_PL';
$this->root = __DIR__ . DIRECTORY_SEPARATOR;
echo $lang . "\n" . $this->root . "locale\n";
putenv("LC_ALL=$lang");
setlocale(LC_ALL, $lang);
bindtextdomain("default", $this->root . "locale");
textdomain("default");
echo _("categories");
aber Ich habe nicht übersetzten Text bekam, ist die Ausgabe:
pl_PL
/home/kuba/projects/jcubic/cataloger/locale
categories
Ich habe auch versucht, Schrägstrich am Ende der locale zu verwenden, aber das hat nicht geholfen.
Was ist los? Wie kann ich gettext verwenden, um Text zu übersetzen? Ich führe PHP von Apache 2 auf GNU/Linux. Ich verwende Slim und Twig Frameworks.