gettext - проблемы с хостингом

Lithium366

Новичок
gettext - проблемы с хостингом

Есть код:
$domain = "messages";
putenv("LANG=ru");
setlocale (LC_ALL,"Russian");
$this->set('locale', 'ru');
bind_textdomain_codeset($domain, 'iso-8859-1');
bindtextdomain ($domain, "../locale");
textdomain ($domain);

папка locale находится уровнем выше. В ней папки en и ru, в каждой LC_MESSAGES/messages.mo и po файлы.
В локали все работает отлично. На хостинге (Linux) просто выводит значения msgid во вьюхах.

phpinfo пишет gettext support enabled
 

Lithium366

Новичок
1 нотис:

Notice: Use of undefined constant DEFAULT_LANGUAGE - assumed 'DEFAULT_LANGUAGE' in /h/tanixby/htdocs.beta.tanix.by/app/config/bootstrap.php on line 46

В принципе, константу эту можно и убрать. В любом случае если прописывать ru/ или en/ должно работать и без нее, так как там условие:

PHP:
$domain = "messages";
if (isset($this->params['url']['url']) && preg_match("/^(en\/?)/", $this->params['url']['url'])) {
                  putenv("LANG=en");
                  setlocale (LC_ALL,"English");
                  $this->set('locale', 'en');
		  }
else {
		  putenv("LANG=ru");
                  setlocale (LC_ALL,"Russian");
                  $this->set('locale', 'ru');
		  }
bind_textdomain_codeset($domain, 'iso-8859-1');
bindtextdomain ($domain, "../locale");
textdomain ($domain);
Тут мне подсказали что скорее всего не установлена русская локаль. Тем не менее beta.tanix.by/en тоже не работает

-~{}~ 01.10.07 10:58:

setlocale (LC_ALL,"English", "en", "en_US");

Вот так все заработало
 
Сверху