Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: PHP проблемы с gettext  (Прочитано 3427 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Igorjoha

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
PHP проблемы с gettext
« : 15 Июня 2012, 20:41:33 »
Всем привет!
Появилась у меня такая идея, написать одно веб-приложение, которое должно быть переведено в итоге еще на 2-3 языка. До этого никогда не решал данной задачи. И вот нашел я чудесную функцию gettext() или _() (синоним). Создал необходимые директории, словарь, все лежит там где надо. gettext - anabled. Вроде все должно работать, но почему-то не работает. Ошибок никаких не выдает. Вместо перевода выдает ключ. В чем может быть проблема?

Система: Ubuntu 12.04, apache2, php5 (если необходимо дополнить список, уточните)

вот фрагмент кода:
putenv("LANG=ru_RU");
putenv("LC_ALL=ru_RU");
setlocale(LC_ALL, "ru_RU");
$domain = 'messages';
bindtextdomain($domain, "./sea-battle/lang");
textdomain($domain);
bind_textdomain_codeset($domain, "UTF-8");
echo _("Hi, my friend!");

вот ls -R каталога lang
.:
ru_RU

./ru_RU:
LC_MESSAGES

./ru_RU/LC_MESSAGES:
messages.mo  messages.po

Всем заранее спасибо

Оффлайн zlodey31337

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
PHP проблемы с gettext
« Ответ #1 : 19 Сентября 2014, 12:54:59 »
Привет всем!
Апну темку, ибо столкнулся с такой же проблемой.

Ubuntu server 14.04, nginx, PHP5, PHP5-fpm, gettext, все установлено из репозитария.

все вроде бы работает, phpinfo показывает, что gettext enabled но, страницы остаются на en.

помогите советом, в какую сторону копать  :-[

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6293
    • Просмотр профиля
Re: PHP проблемы с gettext
« Ответ #2 : 19 Сентября 2014, 13:10:44 »
название файла локализации должно быть не messages.mo, а соответствовать имени программы

Оффлайн zlodey31337

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: PHP проблемы с gettext
« Ответ #3 : 19 Сентября 2014, 17:15:52 »
название файла локализации должно быть не messages.mo, а соответствовать имени программы
эм ... а можно подробнее?

какое имя программы может быть у сайта?
в коде указано явно
bindtextdomain('messages','../locale');
textdomain('messages');
« Последнее редактирование: 19 Сентября 2014, 17:18:06 от zlodey31337 »

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6293
    • Просмотр профиля
Re: PHP проблемы с gettext
« Ответ #4 : 19 Сентября 2014, 17:23:17 »
какое имя программы может быть у сайта?

прочитал по диагонали, извиняюсь.

советы типа таких не помогают?

Оффлайн zlodey31337

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: PHP проблемы с gettext
« Ответ #5 : 19 Сентября 2014, 20:53:27 »
советы типа таких не помогают?

нет. Сайт уже готовый и прекрасно работает на другой системе (правда древней, как динозавры :D ).

вот сижу, читаю, пытаюсь понять, почему на свежей БуБунте не пашет :(

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: PHP проблемы с gettext
« Ответ #6 : 20 Сентября 2014, 02:53:58 »
zlodey31337, так совет не помогает или сайт уже готовый и прекрасно работает?

Оффлайн zlodey31337

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: PHP проблемы с gettext
« Ответ #7 : 20 Сентября 2014, 21:04:25 »
zlodey31337, так совет не помогает или сайт уже готовый и прекрасно работает?

ОК! давайте пойдем из далека :)

есть готовый сайт на PHP который крутится на Fedora 9 + nginx +mysql
хочу перенести его на новый сервер.

поставил Ubuntu 14.04 server, все нужные пакеты (nginx, php5, php5-fpm, mysql, gettext),
перенес в эту песочницу все файлы и базу.
функционал работает, но все на En , хотя в коде по дефолту устанавливается ru_RU

долго "курил" инет, пробовал писать тестовый php для проверки работы gettext
результат тот же
ну не хочит он переводить интерфейс на Ru.

уже мОск кипит  :uglystupid2:

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: PHP проблемы с gettext
« Ответ #8 : 20 Сентября 2014, 21:13:47 »
zlodey31337,
man iconvесть пхп iconv.
Wars ~.o

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: PHP проблемы с gettext
« Ответ #9 : 20 Сентября 2014, 23:25:01 »

Оффлайн zlodey31337

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: PHP проблемы с gettext
« Ответ #10 : 21 Сентября 2014, 21:28:29 »
спасибо всем!!!

"докурился" я до победы  ;D

заменил локаль с ru_RU на ru_RU.utf8
и переименовал папки в locale с ru на ru_RU

и все заработало. :)

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.