Установка
Как сделать, что б дата внизу страницы отображалась по-русски?
Открываете файл catalog/includes/languages/russian.php (или english.php , т.е. если хотите чтобы дата отображалась по-русски в русской версии магазина, то открываете russian.php, если в английской версии, то открываете english.php, если хотите поправить дату в обоих версиях, открываете оба файла)
Находите строчку:
@setlocale(LC_TIME, 'en_US.ISO_8859-1');
И меняете на:
@setlocale(LC_TIME, 'ru_RU.CP1251');
Всё, должно работать!
P.S. На Вашем сервере должна быть установлена локаль CP1251 , т.е. кодировка Windows, в большинстве случаев она установлена.
Последние обновление: 2003-06-30 06:59
Опубликовал: VaM
Revision: 1.0
Отправить на печать
Отправить другу
Скомпилировать PDF файл
Эскпорт в XML файл
Вы можете оставить свой комментарий
Comment of VaM (2038-01-19 06:14:07):
У меня, например, в Linux'e не работает да и не должно работать!
В этой переменной указывается именно локаль, а локали Russian в *nix системах не существует
Comment of alex (2038-01-19 06:14:07):
Можно сделать проще и работать будет точно @setlocale(LC_TIME, 'Russian');
Comment of croco (2038-01-19 06:14:07):
не работает на UNIX, как и было верно подмечено
Comment of Russian (2038-01-19 06:14:07):
У меня в Red Hat 9.0 есть locale 'russian', но русские даты все равно не отображаются как надо. Я думаю проблема в том, что в 9.0 они перешли на UTF. Может кто знает как эту долбанную дату правильно отборазить в CP1251. Чарсет такой есть и локель есть, результата только нет:-((
Comment of Victor (2038-01-19 06:14:07):
$dens = array("Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота");
$mesyats = array("Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря");
$xvDay = $dens[date("w")]." ";
$xvMes = $mesyats[date("n")].", ";
echo $xvDay.date("j")." ".$xvMes.date("Y");
Comment of Andrey V. Mozgovoy aka brain (2038-01-19 06:14:07):
Виндовую локаль, при ее отсутствии можно просто собрать.
(для Slackware Linux)
cd /usr/share/i18n/charmaps
gzip -d CP12511.gz
localedef -c -f /usr/share/i18n/charmaps/CP1251 -i /usr/share/i18n/locales/ru_RU /usr/lib/locale/ru_RU.CP1251
ln -s ru_RU.CP1251 ru_RU.cp1251
Проверяем: locale -a
Comment of almer (2038-01-19 06:14:07):
Для Windows решение приведено здесь:
http://osc-ru.my777.biz/viewtopic.php?p=13834#13834
У меня сработало.
Comment of Cumpuciy (2038-01-19 06:14:07):
@setlocale(LC_TIME, 'Russian');
Comment of Cryptoniko (2038-01-19 06:14:07):
У меня заработало так:
в includes/counter.php вместо строки:
$counter_startdate_formatted = strftime(DATE_FORMAT_LONG, mktime(0, 0, 0, substr($counter_startdate, 4, 2), substr($counter_startdate, -2), substr($counter_startdate, 0, 4)));
ставим:
$counter_startdate_formatted = tep_date_long(substr($counter_startdate, 0, 4) .'-'. substr($counter_startdate, 4, 2) .'-'. substr($counter_startdate, 6, 2) .' '. '00:00:00' );
и после этой строки добавляем:
$date_now = tep_date_long(date('Y-m-d H:i:s'));
Теперь в том же каталоге в файле footer.php строчку
заменяем на
Всё
Comment of Cryptoniko (2038-01-19 06:14:07):
Теперь в том же каталоге в файле footer.php находим вхождение
и заменяем на
.Всё.
Comment of незнама (2038-01-19 06:14:07):
я теперь использую константу LC_ALL вместо LC_TIME, т.к. LC_ALL влияет на все функции установленной локали, например преобразование строк.