Перейти к контенту
  • 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, либо как она у тебя там.

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

Зарузка...

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

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

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