Creare un sito multilingua
Oggi tratteremo un’argomento abbastanza comune: quanti di voi vorrebbero rendere il propio sito multilingua??
Molti, anzi’ moltissimi.
I vantaggi sono che può essere navigato anche da stranieri.
Inseriamo in tutte le pagine del nostro sito web questo codice:
(Se usate un cms inserite questo codice nel common file, cioè in una pagina comune del cms, oppure in ogni singola pagina)
<?php
if ((isset($_GET[’lang’])) or (isset($_SESSION[’lang’]))){
session_start(); //USIAMO LA FUNZIONE SESSION_START PER INIZIARE LA SESSIONE DELLA LINGUA
if (isset($_GET[’lang’])){
$_SESSION[’lang’] = $_GET[’lang’]; //Definiamo la sessione
}
$lang = $_SESSION[’lang’];
$domain = $_SERVER[’HTTP_HOST’];
$path = $_SERVER['SCRIPT_NAME'];$queryString = $_SERVER['QUERY_STRING'];$currenturl = "http://" . $domain . $path . "?" . $queryString;echo ”<meta http-equiv=’refresh’ content=’0, url=http://it.babelfish.yahoo.com/translate_url?doit=done&tt=url&intl=1&fr=bf-home&trurl=$currenturl&lp=it_$lang’/>”;
}
?>Il codice sovrastante è il cuore del nostro sistema multilingua, sfruttiamo il traduttore di link di Yahoo(Yahoo Translate), sfruttiamo le sessioni e i get con php.
Adesso arriva la parte ”fisica”:
<?php
$domain = $_SERVER[’HTTP_HOST’];
$path = $_SERVER['SCRIPT_NAME'];$queryString = $_SERVER['QUERY_STRING'];$currenturl = "http://" . $domain . $path . "?" . $queryString;?>
<a href=”<?php echo $currenturl; ?>&lang=it”><img src=”http://www.sailinginitaly.co.uk/images/italian_flag.gif”/></a><a href=”<?php echo $currenturl; ?>&lang=en”><img src=”http://mednet.rm.ingv.it/images/flag_english.gif”/></a>
Copiate ed incollate il codice sovrastante in qualsiasi punto del vostro sito vogliate ”mostrare” le bandierine per cambiare lingua.
Le lingue che ho aggiunto di ”default” sono italiano e inglese.
Per aggiungere un’altra lingua(es. spagnolo), vi basterà aggiungere questo codice:
<a href=”<?php echo $currenturl; ?>&lang=codicelingua(es.per lo spagnolo è es)”><img src=”urlbandieralingua.gif”/></a>