Traduzioni in varie lingue del proprio sito



Abbiamo imparato che Internet non é limitato territorialmente, é senza confini e questo mette in seria difficoltà tutta la sfilza di siti “nazionalisti” che prendono in considerazione solo la propria lingua madre.

Quindi queste poche righe cercano di dare una soluzione al problema. Uso PHP come linguaggio perché é quello che uso più sovente e che ritengo migliore sotto molti punti di vista.

Partiamo dai file che ci servono.

Nella document root del vostro sito, che per gli utenti Linux sarà /var/www/vostroSito e per quelli Window invece ../apache/htdocs/vostroSito, create una directory chiamata lang. Al suo interno potremo creare da 1 a n file, uno per lingua, insomma creeremo dei veri e propri dizionari. L’importante é che questi file abbiamo i nomi uguali tranne che per le parti che discriminano la lingua contenuta in essi.

Quindi un dizionario per la lingua italiana si potrebbe chiamare:
dizionario_it.php
dizionario_en.php => quello inglese ,
dizionario_fr.php => quello francese
etc ..

Questi file al loro interno saranno identici nei nomi di variabili, ma differenti per contenuto, ovvero:

dizionario_it.php
$diz_titolo = “Mio sito” ;
$diz_paragrafo = “Primo paragrafo” ;
$diz_footer = “Marchio registrato” ;

dizionario_en.php
$diz_titolo = “My Site” ;
$diz_paragrafo = “First Paragraph” ;
$diz_footer = “Trade” ;

dizionario_fr.php
$diz_titolo = “Mon Site” ;
$diz_paragrafo = “Premier paragraph” ;
$diz_footer = “Enregistré” ;

La traduzione di norma viene simulata sul web con un click sulle icone delle bandiere dei vari paesi, e che verranno implementate come dei link, per cui avremo:

<a xhref=” <?php $_SERVER [ “PHP_SELF” ] ; ?>?lang=it”><img xsrc=”bandieraItalia.gif” /></a>
<a xhref=” <?php $_SERVER [ “PHP_SELF” ] ; ?>?lang=en”><img xsrc=”bandieraUK.gif” /></a>
<a xhref=” <?php $_SERVER [ “PHP_SELF” ] ; ?>?lang=fr”><img xsrc=”bandieraFrancia.gif” /></a>

Anche il codice per le bandiere deve essere incluso in tutte le pagine che ne richiedano l’uso.

Bene. Ora a livello della directory lang (o comunque visibile a tutti i file), dobbiamo creare un file chiamato lang.php che farà il vero lavoro sporco. Esso verrà incluso in tutte le pagine in cui sarà prevista la possibilità di traduzione del contenuto.

lang.php:
<?
$lang = “it” ;
if ( isset ( $_GET [ “lang” ] ) )
$lang = $_GET [ “lang” ]
$str_path = “lang/dizionario_” . $lang . “.php” ;
include ( $str_path ) ;
?>

Cosa succede? Ogni volta che cliccherete su un’immagine, essa ricaricherà la pagina su cui siete impostando come file di lingua quello che avete scelto(attraverso il $_GET e le istruzione contenute in lang.php), altrimenti verrà impostato quello in italiano. Nei file php sarà semplice andare a recuperare le variabili che avranno sempre il nome uguale ma contenuto linguisticamente differente.

Questa é la versione “sempliciotta” di questa tecnica di traduzione, perché tradurrebbe solo la pagina in cui siete, ma se ci aggiungete il concetto di sessione, il risultato sarà effettivo su tutto il sito.

www.altroquando.net

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
Pinterest