php gettext () показывает msgid вместо msgstr

Вот мой файл messages.po

#

msgid "_greet1"msgstr "Hello"
msgid "_greet2"msgstr "Bye"

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

Какие-либо предложения…

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
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]