2016-07-04 2 views
0

вывода, Вот мой messages.po файлPHP Gettext() показ MsgId вместо

# 

msgid "_greet1" 
msgstr "Hello" 

msgid "_greet2" 
msgstr "Bye" 

Я получаю этот файл ро компилируется мо файла с помощью PO Edit, и, когда я использую файл мо внутри кода перевода , Я вижу msgid строки вместо msgstr. Я использую точно такой же код, написанный в документации PHP для gettext.

Любые предложения ...

+0

Это означает, что Gettext не могли найти свои переводы. Отлаживаем это, нам понадобится намного больше информации ... – deceze

+0

Я проверил путь к файлам, ничего плохого там –

+0

Это не много полезной информации. Если ничего не случилось, вы увидите «Hello» вместо «_greet1». – deceze

ответ

0

У меня была такая же проблема, и мой путь к папке была правильной тоже. Причина этого вопроса заключалась в том, что я использовал 'pl_PL' как локаль вместо 'pl_PL.utf8' (в исходном коде и в виде имени папки).

Решение - помните о UTF-8:

  1. Проверьте в консоли, что локали у вас есть и то, что их настоящие имена: locale -a. (В случае, если нет локали вы заинтересованы в вы можете набрать: sudo apt-get install locales-all)

  2. Используйте правильное имя локали в коде, например: setlocale(LC_ALL, 'pl_PL.utf8');

  3. Изменение имени папки. Правильный путь к папке образца с *.mo и *.po файла: /var/www/project/locale/pl_PL.utf8/LC_MESSAGES
Смежные вопросы