Беда с setlocale

0

Кто-нибудь знает, почему вызов setlocale завершится неудачей по другой причине, кроме пакета локали, который не существует. Следующий код:

$language = 'fr_CA.utf8';
//putenv("LANG=" . $language); 

var_dump(setlocale(LC_ALL, $language));

// Set the text domain as "messages"
$domain = "messages";
$result = bindtextdomain($domain, ROOT_DIR . "../locale/");

bind_textdomain_codeset($domain, 'UTF-8');

$result = textdomain($domain);

echo _("IAMSOMETEXT");
echo $result;die;

выводит bool(false) из var_dump. Мы запускаем сайт в Vagrant, однако я запускал locale -a на виртуальной машине, а fr_CA.utf8 действительно был на выходе. Я пробовал другие варианты, которые были перечислены, например, просто fr_CA.

Однако установка языка в en_US.utf8 отлично работает. POSIX, похоже, тоже работает. Кто-нибудь столкнулся с этой проблемой? Мы запускаем Ubuntu 12.04 на виртуальной машине.

Теги:
localization
gettext

1 ответ

0

Попробуйте использовать Session.LCID, который должен иметь доступ для чтения/записи. Это число, например, 1034

Ещё вопросы

Сообщество Overcoder
Наверх
Меню