Установка

ID #1022

Как сделать, что б дата внизу страницы отображалась по-русски?

Открываете файл 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 файл Скомпилировать PDF файл
Эскпорт в XML файл Эскпорт в XML файл

Пожалуйста оцените этот ответ:

Рейтинг ответа: 3.67 из 5 (3 Голосов )

Так себе 1 2 3 4 5 Очень
сильно помог

Вы можете оставить свой комментарий

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 влияет на все функции установленной локали, например преобразование строк.