Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Polskie daty oraz czas w IPB


DawPi

Rekomendowane odpowiedzi

  • Manager

Witam,

poniżej przedstawiam poradnik jak wprowadzić polskie daty na forum.

Pliki podlegające edycji:

  • init.php
  • sources/ipsclass.php
  • sources/action_public/profile.php
  • sources/lib/admin_functions.php
  • sources/action_public/calendar.php

*******************************************************

1. Otwórz plik: init.php

Znajdź:

error_reporting  (E_ERROR | E_WARNING | E_PARSE);

  • Wersja dla forum z kodowaniem ISO-8859-2
    Dodaj poniżej:
    setlocale(LC_ALL, 'pl_PL.ISO8859-2');


  • Wersja dla forum z kodowaniem UTF-8
    Dodaj poniżej:
    setlocale(LC_TIME, 'pl_PL.UTF-8');


Zapisz i wyślij.

*******************************************************

2. Otwórz plik: sources/ipsclass.php

Znajdź:

$this->today_time	 = gmdate('d,m,Y', ( time() + $this->offset) );
$this->yesterday_time = gmdate('d,m,Y', ( (time() - 86400) + $this->offset) );

Zamień na:

$this->today_time	 = strftime('%d,%m,%Y', ( time() + $this->offset) );
$this->yesterday_time = strftime('%d,%m,%Y', ( (time() - 86400) + $this->offset) );

Znajdź (trzykrotnie):

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

Zamień na:

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

Znajdź:

$this_time = gmdate('d,m,Y', ($date + $this->offset) );

Zamień na:

$this_time = strftime('%d,%m,%Y', ($date + $this->offset) );

Znajdź:

if ( $this_time == $this->today_time )
		{
			return str_replace( '{--}', $this->lang['time_today'], gmdate($this->vars['time_use_relative_format'], ($date + $this->offset) ) );
		}
		else if  ( $this_time == $this->yesterday_time )
		{
			return str_replace( '{--}', $this->lang['time_yesterday'], gmdate($this->vars['time_use_relative_format'], ($date + $this->offset) ) );
		}

Zamień na:

if ( $this_time == $this->today_time )
		{
			return str_replace( '{--}', $this->lang['time_today'], strftime($this->vars['time_use_relative_format'], ($date + $this->offset) ) );
		}
		else if  ( $this_time == $this->yesterday_time )
		{
			return str_replace( '{--}', $this->lang['time_yesterday'], strftime($this->vars['time_use_relative_format'], ($date + $this->offset) ) );
		}

Znajdź:

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

Zamień na:

return strftime($method, ($date + $this->offset) );

Znajdź:

function get_time($date, $method='h:i A')

Zamień na:

function get_time($date, $method='%H:%M')

Znajdź:

				//-----------------------------------------
			// Time options
			//-----------------------------------------

	$this->time_options = array( 'JOINED' => $this->vars['clock_joined'],
								 'SHORT'  => $this->vars['clock_short'],
								 'LONG'   => $this->vars['clock_long'],
								 'TINY'   => isset($this->vars['clock_tiny']) ? $this->vars['clock_tiny'] : 'j M Y - G:i',
								 'DATE'   => isset($this->vars['clock_date']) ? $this->vars['clock_date'] : 'j M Y',
							   );

Zamień na:

		//-----------------------------------------
	// Time options
	//-----------------------------------------

	$this->time_options = array( 'JOINED' => $this->vars['clock_joined'],
								 'SHORT'  => $this->vars['clock_short'],
								 'LONG'   => $this->vars['clock_long'],
								 'TINY'   => isset($this->vars['clock_tiny']) ? $this->vars['clock_tiny'] : '%A, %d %B %Y - %H:%M',
								 'DATE'   => isset($this->vars['clock_date']) ? $this->vars['clock_date'] : '%A, %d %B %Y',
							   );

Zapisz i wyślij.

*******************************************************

3. Otwórz plik: sources/action_public/profile.php

Znajdź:

$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'];

Zamień na:

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

Znajdź:

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

Zamień na:

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

Zapisz i wyślij.

*******************************************************

4. Zmiany wyświetlania dat w ACP:

Otwórz plik: sources/lib/admin_functions.php

Znajdź: [ w funkcji get_date($date="", $method="") ]

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

Zamień na:

return strftime($this->time_options[$method], ($date + $this->time_offset) );

*******************************************************

6. Otwórz plik: sources/action_public/calendar.php

Znajdź:

		if ( $event['event_recurring'] == 0 AND $event['event_unix_to'] )
	{
		$type = $this->ipsclass->lang['se_range'];
		$de   = $this->ipsclass->lang['se_ends'].' '.gmdate( $this->ipsclass->vars['clock_joined'], $event['event_unix_to'] );
	}
	else if ( $event['event_recurring'] == 1 )
	{
		$type = $this->ipsclass->lang['se_recur'];
		$de   = $this->ipsclass->lang['se_ends'].' '.gmdate( $this->ipsclass->vars['clock_joined'], $event['event_unix_to'] - $set_offset );
	}

Zamień na:

		if ( $event['event_recurring'] == 0 AND $event['event_unix_to'] )
	{
		$type = $this->ipsclass->lang['se_range'];
		$de   = $this->ipsclass->lang['se_ends'].' '.strftime( $this->ipsclass->vars['clock_joined'], $event['event_unix_to'] );
	}
	else if ( $event['event_recurring'] == 1 )
	{
		$type = $this->ipsclass->lang['se_recur'];
		$de   = $this->ipsclass->lang['se_ends'].' '.strftime( $this->ipsclass->vars['clock_joined'], $event['event_unix_to'] - $set_offset );
	}

*******************************************************

6. Zmiany w ACP:

Aby uzyskać dodatkowe poprawne formatowanie dat przejdź:

ACP > TOOLS & SETTINGS > View All General Settings >> Date & Time Formats

i ustaw wpisy jak poniżej:

Short time format: %A, %d %B %Y - %H:%M

Join date time format: %a, %d %b %g

Long time format: %a, %d %b %Y - %H:%M

Relative time format: {--}, %H:%M

*******************************************************

Koniec! ;)

Dodałem trochę nowego kodu, który będę systematycznie uzupełniać ;)

Wszelkie zauważone błędy/sugestie proszę pisać do mnie na PM. Proszę nie pisać w tym temacie, który ma służyć jako czysta pomoc. Jeśli masz nieopisany problem to proszę napisz w temacie wspomnianym wyżej.

Natomiast jeśli chcesz dopisać spolszczenie dat, które nie było opisane pisz śmiało! ;)

Pozdrawiam,

DawPi

Edytowane przez DawPi
Aktualizacja - dziekuję za pomoc i cenne uwagi wieśniakowi

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 rok później...
  • Manager

Ok smiega, a jeszcze mi powiedz jak zrobic tak aby daty zaczynaly sie z duzej litery ? zeby na przyklad zamiast "nie" dla niedzieli aby bylo "Nie" ?

To już musisz uderzyć do admina serwera by to po stronie serwera zmienił.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...

Przy wykonaniu tego wyskakuje mi taki błąd od góry forum

Warning: mktime() expects parameter 4 to be long, string given in /home/*******/*******/*******/********/sources/ipsclass.php on line 4620

Przy tym zwiększa się masakrycznie czcionka na całym forum.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Gofffik: jeśli jesteś absolutnie pewna, że wykonałaś wszystko poprawnie to znaczy, że masz zainstalowaną jakąś modyfikację, która korzysta z 'angielskiego' systemu i to wywala forum - jakie masz mody na forum? Może shoutbox?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Ojej, no naprawdę nie widziałaś tych ustawień tylko bezmyślnie wstukujesz wartości? Jak tak możesz robić? W ustawieniach daty masz wszystko, co potrzeba by to zmienić.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Tak porada, odnosząca się do czystego forum, bez zainstalowanych dodatków. A jeśli ktoś po wykonanych zmianach ma problemy, to pisze o nich w temacie, ktoś ja nie odpowiada i tak ten świat się krąży. Tylko taki jeden Manager nie lubi lenistwa i czekania na gotowe, bo tematów o błędnym czasie jest mnóstwo. Choć czasem rozumiem takie zachowanie, ale teraz nie zrozumiałem. Ot i tyle.

To forum ma nie tylko pomagać, ale i uczyć pewnych zachowań.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Poradziłam sobie, dziękuję.

No widzisz. :) Nie tyło trudno.

Nie, że nie chciałem pomóc - przecież pomogłem. :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Tzn. co? Lang czy godzinę? Jedno w cache/lang_cache/X/lang_mot.php ( bodajże tak ). A datę w sources/lib/func_mot.php - wszystko na forum było. :( Spróbuj pod func_mot.php poszukać. :(

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 lata później...

Zakładam, że masz tam debiana

dpkg-reconfigure locales

i zaznacz (najlepiej tylko)

pl_PL.UTF-8 UTF-8 oraz wybierz je w następnym kroku jako domyślne.

trzeba zrestartować serwer.

Edytowane przez elroy
logopiwoorgsmall.png

piwo.org - polski portal piwowarski

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.