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>

Un articolo a caso

Leave a Reply