Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Русские даты в IP. Board 2.1.x

Опубликовано:

Имя файла: Русские даты в IP. Board 2.1.x

Владелец файла: andaril

Файл размещен: 21 апр 2007

Файл обновлен: 14 фев 2011

Категория файла: Mods/Моды

 

Позволяет поменять "1.12.2007" на "1 Декабря 2007"

 

+---------------------------------------------------------------------

| Invision Power Board v2.1.х

| =================================================================

| При поддержке ipbskins.ru

| =================================================================

+---------------------------------------------------------------------

|

| > Мод "Русские даты в IP Board"

| > Автор fr0z3n aka andar!l

|

| > Версия: 1.0

| > Дата: 21.04.2007

|

+---------------------------------------------------------------------

|

| > Эта модификация позволяет сделать отображение всех дат

| > форума (названия месяцев, дней) на русском языке

| > По запросу: Hugo Weaving

|

+---------------------------------------------------------------------

Багов не обнаружил.

 

Нажмите сюда, чтобы скачать этот файл

Изменено пользователем andaril

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

Опубликовано:

Спасибо, andar!l !

Опубликовано:
  • Автор

Не за что. Надо бы выложить куратора темы да все времени не нахожу переделать его в обычный текстовой вариант :)

 

А сайт ваш неплохой :) Молодцы

Опубликовано:

Спасибо! :)

 

 

PS. Вопросик такой. Например, при просмотре темы с сообщением я хочу, чтобы формат регистрации отображался так: "1 сент 2006", а при просмотре профиля, чтобы формат был такой: "01.09.2006".

Ведь изначально формат времени регистрации отображается одинаково, что в профиле, что при просмотре темы с сообщением. А как вот сделать так, как я предложил? :)

Опубликовано:
  • Автор

Кмх, вот вам моя цитата с ibrportal.net о том как работает данная модификация. Это так, для общего развития

Начнем с способов:

Мне известно три разных способа как можно это реализовать.

  • Это установить все даты в числовом формате, тогда в датах не будет слов вообще. Я не вижу смысла писать о нем.
  • Воспользоваться функциями setlocale() и strftime() которые изменяют язык для дат под установки вашей "локали", в нашем случае локаль русская. Я сегодня попытался реализовать это... У меня прекрасно получилось перевести почти все. Но... как всегда одно "но", функция setlocale () у меня сбила настройки дат которые должны идти в GMT формате. Может это всего лишь моя "криворукость", но мне почему то так не кажется. в общем этим "но" было то что такой метод полностью "убил" календарь, там все завязано с функцией gmdate(), а локаль сделала невозможным доступ к этой функции. Если бы ips делала свою доску сразу используя эти функции, я про setlocale(), проблем было бы меньше.
  • Вот и добрались до третьего способа. Он прост как никогда. Просто заменить названия месяцев, с помощью регулярных выражений, на их русские эквиваленты.

Самое хорошее в данном способе то что он не зависим от "локали", ведь при втором способе надо еще и поставить правильное название локали, тк они зависят от настроек вэб-сервера, и еще то что он достаточно прост в установке.

А специально для вас.

Открывайте файл

./sources/action_public/profile.php

Находите строку:

$info['joined']	  = $this->ipsclass->get_date( $member['joined'], 'JOINED' );

И заменяете её на

//$info['joined']	  = $this->ipsclass->get_date( $member['joined'], 'JOINED' );
$info['joined']	  = gmdate( "j.n.Y", $member['joined'] );

Подробнее о форматах дат вы можете узнать на http://www.php.net/date

Опубликовано:

Спасибо! :(

 

Да, информацию про этот мод я уже почитал.

Опубликовано:
  • Автор

Незачто. Обращайтесь. :(

  • 7 месяцев спустя...
Опубликовано:

Привет! Я установил этот мод, но при просмотре профиля в строке "Часовой пояс пользователя" показывает: 4 {Dec} 2007, 16:09, Где нужно исправить? спасибо.

Опубликовано:
  • Автор

сегодня гляну

Опубликовано:

Спасибо! Жду с большим нетерпением!

Опубликовано:

Дело кажется в файле Profile.php, а конкретнее вот в этой строке:

 

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

 

Тут, мне кажется, надо что-то поменять...

Опубликовано:
  • Автор

попробуйте поменять на

$info['local_time'] = $member['time_offset'] != "" ? preg_replace("/{(\w+)}/e" ,"\$this->lang['\\1']", gmdate( $this->ipsclass->vars['clock_long'], time() + ($member['time_offset']*3600) + ($this->ipsclass->vars['time_adjust'] * 60) ) ) : $this->ipsclass->lang['no_info'];

не смотрел. просто по вашим строкам поменял

Опубликовано:

А теперь вот что пишет: 7 2007, 21:16

Опубликовано:
  • Автор

ой :D

сорри

$info['local_time'] = $member['time_offset'] != "" ? preg_replace("/{(\w+)}/e" ,"\$this->ipsclass->lang['\\1']", gmdate( $this->ipsclass->vars['clock_long'], time() + ($member['time_offset']*3600) + ($this->ipsclass->vars['time_adjust'] * 60) ) ) : $this->ipsclass->lang['no_info'];

вот оно

Опубликовано:

Пашет: 7 Дек 2007, 21:22

Спасибо, земляк! Внеси изменения в свой файл, чтоб другие не мучались как я :D

  • 1 месяц спустя...
Опубликовано:

Привет! А вот в версии 2.3.1 че то в профиле все равно пишется неверно: 7 {Feb} 2008 например. Хотя все поставил как ты написал :rolleyes:

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.