Arhar Опубликовано 2 Октября 2007 Жалоба Поделиться Опубликовано 2 Октября 2007 Вариант 1.Как мне кажется, более красивый.Автор: Klia. Источник. нужно: файл ipsclass.php, get_date()а)прописать в начале функцииsetlocale(LC_ALL, "ru_RU.CP1251");б)ищем $this->today_time = gmdate('d,m,Y', ( time() + $this->offset) ); $this->yesterday_time = gmdate('d,m,Y', ( (time() - 86400) + $this->offset) );--заменяем$this->today_time = strftime("%d %B %G %H:%M",( time() + $this->offset) ); $this->yesterday_time = strftime("%d %B %G %H:%M",( (time() - 86400) + $this->offset) ); ищем $this_time = gmdate('d,m,Y', ($date + $this->offset) );--заменяем$this_time = strftime("%d %B %G %H:%M",( ($date + $this->offset) )); ищем 3 разаreturn gmdate($this->time_options[$method], ($date + $this->offset) );--заменяем 3 разаreturn strftime("%d %B %G %H:%M",( ($date + $this->offset) )); в итоге видим:Windows хостинг - 10 Октябрь 2005 - 03:27Unix хостинг(FreeBSD 4.1) - 10 октября 2005 - 03:27 Вариант 2.preg_replace.Автор: G*g. Источник. Все делается в одном файле \sources\ipsclass.php: Открываем его редактром, ищем фукнцию: function get_date($date, $method, $norelative=0, $full_relative=0) далее, после знака начала функции {сразу вставляем следующий код: $date_en['M_1'] = "/January/"; $date_en['M_2'] = "/February/"; $date_en['M_3'] = "/March/"; $date_en['M_4'] = "/April/"; $date_en['M_5'] = "/May/"; $date_en['M_6'] = "/June/"; $date_en['M_7'] = "/July/"; $date_en['M_8'] = "/August/"; $date_en['M_9'] = "/September/"; $date_en['M_10'] = "/October/"; $date_en['M_11'] = "/November/"; $date_en['M_12'] = "/December/"; $date_ru['M_1'] = $this->lang['M_1']; $date_ru['M_2'] = $this->lang['M_2']; $date_ru['M_3'] = $this->lang['M_3']; $date_ru['M_4'] = $this->lang['M_4']; $date_ru['M_5'] = $this->lang['M_5']; $date_ru['M_6'] = $this->lang['M_6']; $date_ru['M_7'] = $this->lang['M_7']; $date_ru['M_8'] = $this->lang['M_8']; $date_ru['M_9'] = $this->lang['M_9']; $date_ru['M_10'] = $this->lang['M_10']; $date_ru['M_11'] = $this->lang['M_11']; $date_ru['M_12'] = $this->lang['M_12']; далее в этом файле ищем три раза следующую строку: return gmdate($this->time_options[$method], ($date + $this->offset) ); и заменяем все три раза на это: return preg_replace($date_en, $date_ru, gmdate($this->time_options[$method], ($date + $this->offset) )); Все! Сохраняем файл, этим мы убрали баг с датой месяца на другом языке в форуме IPB. Данные о русском названии месяца будут браться из файла \cache\lang_cache\ru\lang_global.php (как и должно быть изначально ). Там можете отредактировать названия месяцев.Аналогично делается и для дней недель. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AleZX Опубликовано 4 Октября 2007 Жалоба Поделиться Опубликовано 4 Октября 2007 А как русифицировать дату в 2.0.х?Во-первых там файла ipsclass.php нет вобще. Но строчки, которые нужно заменить, есть в файле functions.php. Заменил. Даты перевелись, но перестали отображаться слова "Сегодня" и "Вчера". Еще в списке "Кто сейчас онлайн" у половины пользователей "Сегодня, 17:24" а у другой половины "4 Октября 2007, 17:24". Вот такие глюки можно как-то исправить? Это я делал первым способом, второй в 2.0.х не работает. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 5 Октября 2007 Жалоба Поделиться Опубликовано 5 Октября 2007 А сегодня/вчера - это разве стандартная возможность 2.0? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 10 Ноября 2007 Жалоба Поделиться Опубликовано 10 Ноября 2007 AleZX, ну тогда ищите файл, где есть функция get_date() или создайте новую и в нужных местах используйте ее. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
abu Опубликовано 27 Июня 2009 Жалоба Поделиться Опубликовано 27 Июня 2009 Arhar Спасибо, всё работает. версия 2.1.x Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.