Перейти к контенту
  • 0

Дата на русском


SQR-T

Вопрос

Как перевести дату ту которая внизу на русский язык?

К примеру у меня сейчас:

10th October 2005 - 03:27

А надо:

10 Октябрь 2005 - 03:27

 

Я читал хелп который идёт с форумом, там пишут что мол надо в каком-то скрипте поменять "eng" на "rus"...в общем я так нечего и не понял...

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 55
  • Создана
  • Последний ответ

Лучшие авторы в этом вопросе

Лучшие авторы в этом вопросе

Рекомендуемые сообщения

  • 0
Действительно нет...

Тогда можно просто также еще добавить параметры вручную:

clock_short - %e %b %Y, %H:%M

clock_joined - %e %B %Y

clock_long - %e %B %Y, %H:%M

 

спасибо. все стало норм. правда вот с Welcome Panel беда -

 

_http://img391.imageshack.us/img391/4508/error7xm.jpg

 

как лечить я естествено не бум бум ;)

а так везде все стоит ровно... кхм может велкам панеле надо тоже гденить ченить прописать?

 

вот нашел файл этой панели, ну что в нем ковырять я не втыкаю... поначалу подумал что надо по аналогии с другими файлами редактировать, а потом поковырявшись не нашел ниче похожего на :)

 

Вот залил сюда файл, если не трудно, Lexx, посмотри...

Сорри что я такой тугодум и что такой настырный :):D

 

В общем, если что то все равно спасибо :)

 

 

_http://slil.ru/22802253

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Можно попробовать

$ctime = ($this->ipsclass->member['time_offset'] != '') ? gmdate($this->ipsclass->vars['clock_long'], time()+($this->ipsclass->member['time_offset']*3600)+($this->ipsclass->vars['time_adjust']*60)) : '';

заменить на

$my_time_offset = (4 + (intval(date("I", $date)) - 1)) * 60 * 60;
			$ctime = ($this->ipsclass->member['time_offset'] != '') ? trim(strftime($this->ipsclass->vars['clock_long'], time()+($this->ipsclass->member['time_offset']*3600)+($this->ipsclass->vars['time_adjust']*60) - $my_time_offset)) : '';

Правда я не смог протестировать, потому что у меня такой панельки нет.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Можно попробовать

$ctime = ($this->ipsclass->member['time_offset'] != '') ? gmdate($this->ipsclass->vars['clock_long'], time()+($this->ipsclass->member['time_offset']*3600)+($this->ipsclass->vars['time_adjust']*60)) : '';

заменить на

$my_time_offset = (4 + (intval(date("I", $date)) - 1)) * 60 * 60;
			$ctime = ($this->ipsclass->member['time_offset'] != '') ? trim(strftime($this->ipsclass->vars['clock_long'], time()+($this->ipsclass->member['time_offset']*3600)+($this->ipsclass->vars['time_adjust']*60) - $my_time_offset)) : '';

Правда я не смог протестировать, потому что у меня такой панельки нет.

Ура!!! Получилось! Спасибо преогромное :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

вот не понимаю... добавить эти параметры

clock_tiny

и

clock_date

 

я добавил а что в них писать?

 

и ещё....

у меня пишет так Вчера, 07:53 PM

как это изменить на нормальное... и как выставить время сервера нормально.. а то у меня показывает

Сейчас: 8 Июн 2006, 21:26

а у меня сейчас 0:29

 

спасибо!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

а если вот так выводится

m/d/Y

есть и ещё другте такие же похожие...

 

и как это исправить ? {--}, h:i A

 

как этот PM убрать? на 24 часа

 

Спасибо!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Люди добрые помогите! Есть такой вот косяк: на форуме Время отоброжается нормально, а в Админке когда просматриваешь логи модераторов, админов и вообще логи, то время показывается M d Y, H:m!

Пытался меня на Проценты! Тогда в форуме показываются проценты, а в Админке всё нормально! :D

Обьясните в чём может быть проблема и как её решить!

Ссылка на комментарий
Поделиться на других сайтах

  • 0
нужно: файл 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) ));

 

ищем

return gmdate($this->time_options[$method], ($date + $this->offset) );

--

заменяем

return strftime("%d %B %G %H:%M",( ($date + $this->offset) ));

 

в итоге видим:

Windows хостинг - 10 Октябрь 2005 - 03:27

Unix хостинг(FreeBSD 4.1) - 10 октября 2005 - 03:27

сделал по указанному способу дата стала отображаться корректно с русскими месяцами.

Но: у меня формат был такой: Вторник, 13 Январь 2007, 15:40

а теперь день недели не показывает... как исправить? и второй вопрос: в профиле, в футере форума все осталось по старому на англ... :D

 

буду благодарен за любую помощь.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

нужно: файл 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) ));

 

ищем

return gmdate($this->time_options[$method], ($date + $this->offset) );

--

заменяем

return strftime("%d %B %G %H:%M",( ($date + $this->offset) ));

 

в итоге видим:

Windows хостинг - 10 Октябрь 2005 - 03:27

Unix хостинг(FreeBSD 4.1) - 10 октября 2005 - 03:27

сделал по указанному способу дата стала отображаться корректно с русскими месяцами.

Но: у меня формат был такой: Вторник, 13 Январь 2007, 15:40

а теперь день недели не показывает... как исправить? и второй вопрос: в профиле, в футере форума все осталось по старому на англ... :D

 

буду благодарен за любую помощь.

Блин, я не понял куда это прописать

 

нужно: файл ipsclass.php, get_date()
а)прописать в начале функции setlocale(LC_ALL, "ru_RU.CP1251");

 

Подскажите плиззз...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
В самом начале файла ipsclass.php? Или именно пункта Date?

я знаю самый простой способ. нужно поставить переключатель switch всего в двух местах. дома сделано уже есть. приду домой - выложу сюда.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

В самом начале файла ipsclass.php? Или именно пункта Date?

я знаю самый простой способ. нужно поставить переключатель switch всего в двух местах. дома сделано уже есть. приду домой - выложу сюда.

Было бы здорово. Ждём.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ну неужели никто не может понятно и чётко объяснить как это сделать?

блин, об этом форуме вспоминаю только когда не дома.

в общем я знаю как сделать чтобы работало как должно, то есть данные месяца брались из файлов перевода, либо этот перевод вставить прямо в функцию. в общем кому надо - напишите мне в личку. на уровне кода решим проблему русских месяцев так, что на любой оси дата будет отображаться так как Вы того хотите, и формат даты Вы будете выставлять в стандартном режиме функции date.

вся проблема решается в принципе с помощью одной функции preg_replace в одном файле исх. кода форума. :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Итак, Вариант № 1 (Как должно быть.)

 

Все делается в одном файле \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 (как и должно быть изначально :D ). Там можете отредактировать названия месяцев.

Аналогично делается и для дней недель.

 

 

_____________________________________________________

 

 

 

Вариант № 2 (Как я сделал для себя.)

(подходит для тех, у кого нет русика, и кто хочет чтобы даты всегда отображались на русском)

 

Все делается в одном файле \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'] = "Января";
$date_ru['M_2'] = "Февраля";
$date_ru['M_3'] = "Марта";
$date_ru['M_4'] = "Апреля";
$date_ru['M_5'] = "Мая";
$date_ru['M_6'] = "Июня";
$date_ru['M_7'] = "Июля";
$date_ru['M_8'] = "Августа";
$date_ru['M_9'] = "Сентября";
$date_ru['M_10'] = "Октября";
$date_ru['M_11'] = "Ноября";
$date_ru['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) ));

 

Аналогично делается для дней недель. Данный способ предназначен для тех, у кого не русифицирован форум. Даты в этом случае всегда будут отображаться на русском.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Спсибо! Получилось! А вот как убрать скобочки, в которых пишется дата:

 

{Среда}, 11 {Апреля} 2007, 13:06

 

запихнуть все вместо апострофов ' в кавычки "

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Parse error: syntax error, unexpected T_STRING in /home/brawofor/public_html/sources/ipsclass.php on line 3134

 

=(

ниче не знаю:

<a href="http://87.240.49.144/forum/" target="_blank">http://87.240.49.144/forum/</a>

выложи сюда строки 3134, 3135

Исправил! Всё ок!

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Исправил! Всё ок!

замечательно! :D

 

Вариант № 1 считаю одним из самых правильных вариантов исправления проблем отображения даты на других языках в форуме IPB, надеюсь его внесут в какой-нибудь фак на этом форуме.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Исправил! Всё ок!

замечательно! :D

 

Вариант № 1 считаю одним из самых правильных вариантов исправления проблем отображения даты на других языках в форуме IPB, надеюсь его внесут в какой-нибудь фак на этом форуме.

Вариант №1 не прошел. Помог вариант 2.

 

А как фигурные скобоки убрать?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Исправил! Всё ок!

замечательно! :D

 

Вариант № 1 считаю одним из самых правильных вариантов исправления проблем отображения даты на других языках в форуме IPB, надеюсь его внесут в какой-нибудь фак на этом форуме.

Вариант №1 не прошел. Помог вариант 2.

 

А как фигурные скобоки убрать?

выложи свой файл ipsclass.php сюда и заодно посмотри какие языки у тебя есть в папке cache\lang_cache и напиши сюда тоже, если есть русик тама, то закинь сюда файл lang_global.php из папки ru, либо rus, либо как она у тебя там.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.