Salve, questa è la seconda parte dell’articolo sulla realizzazione di un sito in php multilingua.
Per tornare alla prima parte dell’articolo, cliccare sul link seguente:

REALIZZARE UN SITO PHP MULTILINGUA[PARTE UNO]

Riprendendo da dove eravamo rimasti,mettiamo il tutto insieme e creiamo un esempio concreto:

– prendiamo il codice seguente e salviamolo in un file php che possiamo ad esempio chiamare Multilanguage.php

<?php

//se qualcuno ha cliccato su un pulsante

if(isset($_GET[‘lang’]))
{
$lang =$_GET[‘lang’];
$_SESSION[‘lang’]=$lang ;
}
else
{
if(isset($_SESSION[‘lang’]))
{
$lang = $_SESSION[‘lang’];
}
else
{
//valore di default

$lang = “ITA”;

}

}

switch ($lang)

{

case “ITA”:

include “ita.php”;

break;

case “ENG”:

include “eng.php”;

break;

default:

include “ita.php”;

break;

}

?>

-Prendiamo la nostra pagina di esempio e includiamo lo script  all’inizio ( nell’esempio ho chiamato il file example.php)

<?php
session_start();
include “Multilanguage.php”;
?>
<html>
<head>
<title>
<?php
echo $page_title;
?>
</title>
</head>
<body></body>
</html>
– nella stessa cartella del file Multilanguage.php ed example.php  creiamo i file ita.php ed eng.php con il relativo codice che vi abbiamo mostrato prima. Se ora provassimo ad aprire la pagina di esempio, vedremo che il title della pagina è impostato su “Titolo” ( la lingua di default è appunto l’italiano).

Sul repository presente sul Lab oltre al codice seguente, sarà possibile scaricare e consultare un esempio più completo che mostra effettivamente la modifica dinamica del testo tramite alcuni pulsanti.

Javascript Multilingua
Utilizzando il medesimo meccanismo, è possibile ad esempio stampare sul nostro sito messaggi javascript diversi a seconda della lingua corrente. Le modifiche sono molto semplici: basterà aggiungere ai nostri file php della lingua (ita.php, eng.php , eventualmente altri) un’array javascript con tutte le stringhe che vorremmo stampare a video per esempio tramite un alert. Riportiamo un breve esempio:

ita.php

<?php

//variabili php

<script language=”Javascript”>

lang = {

greeting : “Ciao”,

goodbye : “Arrivederci”

};

</script>

?>

eng.php

<?php

//variables php

<script language=”Javascript”>

lang = {

greeting : “Hello”,

goodbye : “GoodBye”

};

</script>

?>

Adesso nel nostro esempio basterà chiamare l’array dove ci serve una variabile multilingua:

Example02.php

<?php
session_start();
include “Multilanguage.php”;
?>
<html>
<head>
<title>
<?php
echo $page_title;
?>
</title>
<script language=”Javascript”>
function print()
{
alert(lang.greeting);
}
</script>
</head>
<body>
<a onclick=”print()”>click</a>
</body>
</html>

A seconda della lingua infatti, il valore della variabile lang.greeting cambierà di conseguenza.
I sorgenti di codice mostrati in questa piccola guida saranno disponibili quanto prima sul solito repository Lab , non dimenticatevi di scrivere qualche commento se avete trovato la guida di vostro gusto.

Grazie per l’attenzione,

Andrea