Pagina 1 din 1

Traducere site in diferite limbi fara modificare adresa URL

Scris: Mie Sep 26, 2012
de steell
Salut
Nu stiu cum sa fac sa am site-ul in diferite limbi fara sa fac cate o copie a siteului in diferite foldere si fiecare folder reprezinta o limba diferita.
Ceva gen cum e pe facebook, sau pe fastweb.ro am vazut ca au si ei optiune pentru 3 limbi, insa nu se modifica adresa URL in browser, ramane acelasi.
Vreau ca site-ul sa se indexeze si in limba respectiva adica daca cineva cauta pe google in engleza ceva si siteul meu contine acel ceva in engleza, sa-i apara.
Imi trebuie un algoritm, o idee cum ar trebui sa fac.
Ma gandisem la o metoda gen: in sesiune sa se salveze numele limbii si cu un if() in funtie de acea sesiune sa se includa toate textele in pagina, deci textele sa fie in diferite limbi si se includ in functie de ce limba contine sesiunea. dar nu prea imi place algoritmul asta.

Traducere site in diferite limbi fara modificare adresa URL

Scris: Mie Sep 26, 2012
de MarPlo
Salut
M-am uitat la "fastweb.ro", si am vazut ca link-urile in codul HTML pt fiecare limba sunt cu adrese diferite.
De exemplu, pt engleza este: "fastweb.ro/includes/lang.php?adr=/faq.php&lang=en" .
Aceste link-uri din codul HTML le vad motoarele de cautare si le indexeaza.

Faptul ca in browser apare adresa URL neschimbata, cred ca se face in scriptul PHP, cu Session si Redirect, prelund continutul in functie de datele din sesiune.
De exemplu, cand e accesata adresa de mai sus pt engleza, scriptul retine in sesiune valoarea de la "lang=en", apoi face redirect cu header() la adresa /fisierul de la "adr=...".
In fisierul php respectiv (care e acelasi cu adresa din browser) verifica sesiunea si in functie de acea valoare preia continutul dintr-un director sau baza de date.

Deci, adresa URL in browser ramane aceeasi datorita redirectului din script, cu header(); iar continutul se schimba datorita valorii din sesiune.