На моем производственном сервере (CentOS) setlocale
Кажется, требуется следующий формат: en_US
,
Это не работает для меня, так как у меня 248 стран и 66 языков — посетитель сможет выбрать любую страну на любом языке.
Можно ли быть просто en
?
Интересно, что на моем локальном сервере (MacOSX) он работает нормально с en
,
<?php
putenv('LANG=' . $_SESSION['locate']['language']['iso'] . '_' . $_SESSION['locate']['country']['iso']); // I want to use only en, not en_US
setlocale(LC_ALL, $_SESSION['locate']['language']['iso'] . '_' . $_SESSION['locate']['country']['iso']); // I want to use only en, not en_US
bindtextdomain('messages', dirname(__FILE__) . '/locate');
textdomain('messages');
echo gettext('This is a text string!');
?>
Задача ещё не решена.
Других решений пока нет …