Я боролся с Gettext сейчас целую вечность и просто не могу заставить его работать.Я был бы всегда благодарен, если бы кто-нибудь мог помочь мне с этим ... Я искал решения и пробовал несколько вариантов, но у меня ничего не работает.
Я создал следующую файловую структуру:
/ var / www / battlestox / battlestox.com / sites / battlestox / www / locale / de_DE / LC_MESSAGE / messages.po /var/www/battlestox/battlestox.com/sites/battlestox/www/locale/de_DE/LC_MESSAGE/messages.mo
данные в .po файле просто:
msgid ""
msgstr ""
"Content-Type: text / plain; charset = utf-8 \ n"
"Content-Transfer-Encoding: 8bit \ n"
msgid "qwerty"
msgstr "Переводчик работает!"
Файл php имеет следующий код:
putenv("LANG=de_DE.UTF-8");
setlocale(LC_MESSAGES, 'de_DE.UTF-8');
bindtextdomain('messages', 'locale');
bind_textdomain_codeset('messages', 'UTF-8');
textdomain('messages');
echo gettext("qwerty");
echo _("qwerty");
output: qwertyqwerty - так что перевод не происходит.когда я повторяю bindtextdomain ('messages', 'locale');Я получаю:
/ var / www / battlestox / battlestox.com / sites / battlestox / www / locale
, поэтому я считаю, что он указывает на правильное местоположение ..
Я проверил, что gettext установлен в php и локали на сервере доступны ..
: локаль -a
de_DE
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
de_DE @ euro
Я использую PHP 5.2, Apache 2.2.3, CentOS
Пожалуйста, будьте осторожны, я очень разбираюсь в Linux ..
Спасибо за любую помощь!