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

Możliwość wyboru języka przez gości


DawPi

Rekomendowane odpowiedzi

  • Manager

Jeśli z jakiś względów chcesz umożliwić gościom zmianę języka postępuj wg poniższej instrukcji.

Otwórz plik: index.php

Znajdź:

//--------------------------------
// Did we choose a language?
//--------------------------------

if ( (isset($ipsclass->input['setlanguage']) AND $ipsclass->input['setlanguage']) AND (isset($ipsclass->input['langid']) AND $ipsclass->input['langid']) AND $ipsclass->member['id'] )
{
if ( is_array( $ipsclass->cache['languages'] ) and count( $ipsclass->cache['languages'] ) )
{
	foreach( $ipsclass->cache['languages'] as $data )
	{
		if ( $data['ldir'] == $ipsclass->input['langid'] )
		{
			$ipsclass->DB->do_update( 'members', array( 'language' => $data['ldir'] ), 'id='.$ipsclass->member['id'] );
			$ipsclass->member['language'] = $data['ldir'];
		}
	}
}
}

Zamień na:

//--------------------------------
// Did we choose a language?
//--------------------------------

if ( (isset($ipsclass->input['setlanguage']) AND $ipsclass->input['setlanguage']) AND (isset($ipsclass->input['langid']) AND $ipsclass->input['langid']) )
{
if ( is_array( $ipsclass->cache['languages'] ) and count( $ipsclass->cache['languages'] ) )
{
	foreach( $ipsclass->cache['languages'] as $data )
	{
		if ( $data['ldir'] == $ipsclass->input['langid'] )
		{
			if( $ipsclass->member['id'] == 0 )
			{

				$ipsclass->my_setcookie( 'language', $data['ldir'] );
			}
			else
			{
				$ipsclass->DB->do_update( 'members', array( 'language' => $data['ldir'] ), 'id='.$ipsclass->member['id'] );
			}

			$ipsclass->member['language'] = $data['ldir'];
		}
	}
}
}

Zapisz i wyślij.

Otwórz plik: sources/ipsclass.php

Znajdź:

$this->lang_id = isset($this->member['language']) ? $this->member['language'] : $this->vars['default_language'];

Dodaj powyżej:

			if( $this->member['id'] == 0 )
		{
			$this->member['language'] = $this->my_getcookie( 'language' );
		}

Zapisz i wyślij.

Otwórz plik: sources/classes/class_display.php

Znajdź:

		//-----------------------------------------
	// Showing skin jump?
	//-----------------------------------------

	if ( $this->ipsclass->member['id'] > 0 )
	{
		$lang_jump = $this->ipsclass->compiled_templates['skin_global']->global_lang_chooser( $this->_build_language_list() );
	}
	else
	{
		$lang_jump = "";
	}

Zamień na:

		//-----------------------------------------
	// Showing skin jump?
	//-----------------------------------------


	$lang_jump = $this->ipsclass->compiled_templates['skin_global']->global_lang_chooser( $this->_build_language_list() );

Zapisz i wyślij.

Zobacz także:

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...

Hmm, mam problem ze zmianą języka dla gości... Skorzystałem z tutoriala: http://forum.invisionize.pl/topic/294-gocie-mog-zmienia-jzyk/

Problem w tym, ze po zmianie langu jako gość nic się nie dzieje, odswieża tylko strone ze starym langiem. Gdy wybiore ten sam lang po raz drugi, wtedy jest ok, gdy chce wrócić np z ENG na PL to musze wybrać odwrotnie, czyli 2x PL....

Po jednokrotnym wybraniu langa i wcisnieciem ctrl+r pojawia sie wybrany lang. Ale to nie załatwia sprawy bo ctrl+r to tylko wczytanie strony z pominieciem cachu przegladarki czy jakoś tak..

W czym mam kłopot? Wszystko zrobiłem idealnie wg tutoriala.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Połączyłem Twój nowy temat z tutorialem - na przyszłość pisz tam gdzie jest 'źródło' Twoich pytań. :)

Tak, kiedyż już ktoś to zgłaszał. Spróbuj jeszcze to: Możliwość zmiany języka dla gości.

  • Lubię to 1

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

Sorry, myślałem gdzie to wsadzić, wydawało mi sie, ze w tutorialach nie powinno sie pisać.

Ok, spróbuje tamtego. Dzieki za info.

Jeszcze co do tego tutoriala, faktycznie z nim jest coś nie tak bo sprawdzałem to na trzech przegladarkach i sprawdzał też załogant forum i to samo, trzeba wybrać lang 2x.

Po zalogowaniu sie nie ma już kłopotu, wchodzi lang za pierwszym razem.

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ę.