Кто-нибудь случайно знает, почему звонок 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
, Мы работаем на сайте в бродяга, Однако я побежал locale -a
на В.М., а также fr_CA.utf8 был действительно в выходной. Я пробовал другие варианты, которые были перечислены, такие как просто fr_CA.
Установка языка в en_US.utf8 работает отлично однако. POSIX похоже, тоже работает Кто-нибудь сталкивался с этим вопросом? Мы бежим Ubuntu 12.04 на В.М..
Попробуйте использовать Session.LCID
, который должен иметь доступ для чтения / записи. Это число, например, 1034
Других решений пока нет …