Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Language system.
Potar
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 27.02.2010

Ostrzeżenie: (20%)
X----


Witajcie, chciałbym wprowadzić na swoj serwer język polski i anglieski, gdy ktoś kliknie angielski to ogląda cały czas w jezyku angielskim, obecnie mam tak że wszystko po polsku a link z flagą prowadzi do angielskiego a nie zapisuje na stałe, czyli po kliknieciu innego linka wraca na polski, najlepiej byłoby że jak ktoś kliknie np. ENG to ładuje się całe menu z linkami do anglieskich nazw, a jak polska to do polskich artykułów.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
binprogrammer
post
Post #2





Grupa: Zarejestrowani
Postów: 249
Pomógł: 8
Dołączył: 10.08.2011
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


Ja osobiscie stworzylbym nowa subdomene dla angielskiej strony i po kliknieciu flagi przekierowal na ta subdomene, oczywiscie da sie przez php, jednak zapomnialem kompletnie jak to kiedys zrobilem (IMG:style_emoticons/default/sad.gif) dodam ze to tylko moje zdanie, znajac zycie nie jest to najlepsze rozwiazanie.

Go to the top of the page
+Quote Post
Kshyhoo
post
Post #3





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Zapisuj w sesji, coockie.

Ten post edytował Kshyhoo 1.08.2012, 08:24:54
Go to the top of the page
+Quote Post
lukaskolista
post
Post #4





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


cookie i sesja nie sa dobrym rozwiazaniem. Co w przypadku, gdy uzytkownik A jest z Polski, ale oglada strone w jezyku angielskim i wysle linka do uzytkownika B rowniez z Polski? Uzytkownik B dostanie ta strone w jezyku polskim, a powinien w angielskim. Podobnie bedzie z wyszukiwarka, bedzie indeksowala strone tylko w 1 jezyku. Pozostaja subdomeny (bardzo eleganckie rozwiazanie) + system wielojezycznosci w php bazujacy na jezyku z subdomeny
Go to the top of the page
+Quote Post
Niktoś
post
Post #5





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Cytat
Pozostaja subdomeny (bardzo eleganckie rozwiazanie)
.
No i chyba bardziej optymalne niż tworzenie prawie wszystkich tagów w locie i podmiana ewentualnie grafiki z napisami.
Go to the top of the page
+Quote Post
MrMag
post
Post #6





Grupa: Zarejestrowani
Postów: 154
Pomógł: 5
Dołączył: 24.02.2004

Ostrzeżenie: (0%)
-----


Podczepie sie pod ten temat poniewaz mam pewien problem z indeksowaniem w google zwiazany z wielojezykowoscia. Przy wejsciu na strone sprawdzane sa w kolejnosci cookie z jezykiem, $_SERVER['HTTP_ACCEPT_LANGUAGE'] a jak nie ma ani jednego ani drugiego, przyjmowana jest wartosc 'en'*. Nastepnie robiony jest header(location) na wybrany jezyk - strona.com/pl lub strona.com/en. Pod adresem strona.com w zasadzie jest tylko badanie gdzie zrobic przekierowanie. Powoduje to, ze pod glownym adresem strona.com google zaindeksowalo tresc jako angielska i jest duzo dalej w wynikach wyszukiwania niz powinna. Jak sobie z tym poradzic? Oczywiscie strona.com/pl tez jest w google, ale daleko bo cala sila linkow zewnetrznych idzie na te angielska. Czy konieczne bedzie osobne pozycjonowanie */pl i */en?

* - i wolałbym by tak zostało

Ten post edytował MrMag 1.08.2012, 09:15:45
Go to the top of the page
+Quote Post
Potar
post
Post #7





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 27.02.2010

Ostrzeżenie: (20%)
X----


Subdomeny, niestety odpadają i osobne katalogi, gdyż po prostu na serwerze dedykowanym mam ponad 6 domen, ciężko o konfigurację z subdomenami, sama domena przekierowuje na podkatalog, to ciężko by jeszcze dorobić do tego subdomeny.

Najbardziej przypadła mi do gustu "Zapisuj w sesji, coockie. " na jakiej zasadzie mogę to zroić, byle najprościej, bo jednak żeby umieszczać tą samą stronę w 2 różnych katalogach, + konfiguracja obu + płatności i IPN=y nie będzie takie proste, to najbardziej właśnie coockie do mnie przemaiwa, moglibyście dać jakiś przykład jakby to zrobić?
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #8





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




O obsłudze sesji czy coockie jest sporo w Google. Możesz np. tak:
  1. $_SESSION["lang"] = (isset($_GET['lang']) && !empty($_GET['lang'])) ? $_GET['lang'] : 'polski';
  2. $file = 'languages/'.$_SESSION['lang'].'.php';
  3. include file_exists($file) ? $file : 'languages/polski.php';

Możesz też trzymać w bazie:
  1. if($_SESSION["lang"]==polski){echo "$row['polski'];"; exit();}
  2.  
  3. if($_SESSION["lang"]==angielski){echo "$row['angielski'];"; exit();}
Go to the top of the page
+Quote Post
Potar
post
Post #9





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 27.02.2010

Ostrzeżenie: (20%)
X----


Zrobiłem coś na zasadzie:

  1. $_SESSION["lang"] = (isset($_GET['lang']) && !empty($_GET['lang'])) ? $_GET['lang'] : 'pl';
  2.  
  3.  
  4. <script> function SetCookie(cookieName,cookieValue,nDays) {
  5. var today = new Date(); var expire = new Date();
  6. if (nDays==null || nDays==0) nDays=1; expire.setTime(today.getTime() + 3600000*24*nDays);
  7. document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
  8. }
  9.  
  10.  
  11. function zmienJezyk(cookieName,cookieValue,nDays){
  12. SetCookie(cookieName,cookieValue,nDays);
  13. window.location.reload(); } </script>


oraz dodałem do menu osobne łącze:

  1. <a href="#"onClick="zmienJezyk(<?php if($_SESSION["lang"]==pl){echo "'lang', 'en', 30) ";} if($_SESSION["lang"]==en){echo "'lang', 'pl', 30) ";} ?> ">


Więc powinno po kliknięciu dawać cookie 'en' .



Jak teraz zrobić, żeby ładował, gdy cookie jest inne to inna treść oraz gdy cookie jest inne to jeszcze inna , jak mogę to sprawdzać w php?


Dodałem w przykładowym pliku:


Cytat
<?PHP
if($_SESSION["lang"]==pl){
$main_content .= 'Język Polski';
}
if($_SESSION["lang"]==en){
$main_content .= 'English Language';
}
?>


Cały czas pokazuje że jest Polski, nie idzie zmienić.



Ok sprawdziłem, nie działa tylko mój przycisk, możecie mi pomóc go zrobić?
Klikam odświeżam strone a cookie dalej 'pl' a nie 'en'


Liczę jakby ktoś mógł że mi podpowie, bo nie wiem co może być tu nie tak.

Odświeżam

Ten post edytował Potar 2.08.2012, 00:14:28
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 15:17