Добрый день! Возникла такая проблема при использовании gettext на серваке FreeBSD - переводятся лишь от силы 2-3 строки. На серваках Windows и Ubuntu все работает замечательно. Вот код который устанавливает локаль: PHP: <?php $locale_dir = '/full/path/to/locales/dir'; // FULL path to locales dir $dom = 'messages'; $lst = scandir($locale_dir); array_shift($lst); array_shift($lst); foreach($lst as $lng) $langs[] = getLangFromCode($lng); if(!$_SESSION['lang']) { $c = GetCountryIP(); if($c == 'Russian Federation' || $c == 'Ukraine') { $_SESSION['lang'] = 'ru'; } else { $_SESSION['lang'] = 'en'; } } setlocale(LC_ALL, getLocaleFromCode($_SESSION['lang'])); bindtextdomain($dom, $locale_dir); textdomain($dom); bind_textdomain_codeset($dom, 'UTF-8'); ?> функция getLocaleFromCode выдает локаль исходя из 2-буквенного кода языка (имена локалей хранятся в текстовом файле и вбиваются туда вручную - берутся из вывода команды 'locale -a' на серваке). Пытался установить LC_ALL и LC_MESSAGES через putenv результат тот же (посмотреть его можно к примеру тут - http://vkmuzon.7186699.spb.ru/faq.php - переключаем внизу язык на English в случае необходимости). Версия PHP 4.4.2, FreeBSD 6.4. Папки локалей имеют следующую структуру: locale/[двухбуквенный код языка]/LC_MESSAGES/messages.po (mo). Подскажите в чем может быть проблема?