Ось ubuntu 10.04, PHP 5.3.2, Апач + Nginx
Модуль gettext включен.
Отображение ошибок(детальное) включено.
В логах пусто.
Права на файлы и папки есть.
Файлы существуют и доступны для чтения.
На маке(тех. директора) b серваке все работает нормально.
Настройка:
//self::$lang = 'fr'
putenv ('LANG='.self::$lang);
/*Эти строчки я для теста добавлял*/
putenv("LANGUAGE=" . self::$lang);
setlocale(LC_MESSAGES, 'fr');
setlocale(LC_ALL, 'fr');
/*End*/
//self::NLS_DOMAIN = 'myApp'
//$GLOBALS['LIB'].'locale' = /home/empl/Projects/PHP/Company/projectName/www/www.projectv2.com-sys/lib/locale
//self::$charset = 'UTF-8'
bindtextdomain (self::NLS_DOMAIN, $GLOBALS['LIB'].'locale');
bind_textdomain_codeset (self::NLS_DOMAIN, self::$charset);
textdomain (self::NLS_DOMAIN);
Методы возвращают нормальные данные.
Проблема в том, что ключи не обрабатываются. Т.е. gettext не работает, возвращает ключ.
Подсказали, что проблема может быть с локалью. В убунте у меня только русский и английский, французского нет. Но если ставлю self::$lang = 'en' тоже особого толку нет. Добавил французский.
Если вывести locale -a
en_AG
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
fr_BE.utf8
fr_CA.utf8
fr_CH.utf8
fr_FR.utf8
fr_LU.utf8
POSIX
ru_RU.utf8
ru_UA.utf8
Буду благодарен за любую помощь.
Пользователь решил продолжить мысль 16 Ноября 2010, 19:12:34:
Можно как то в список локалей добавить просто en, fr, ru без приставок _US и utf8?