sabato 20 ottobre 2012

Guida Codeigniter 4 - Gestione del multilingua

Gestione del multilingua

L’internazionalizzazione di un sito di questi tempi è un mattone fondamentale per la diffusione dello stesso. Per questo motivo, CodeIgniter ne offre nativamente il supporto. Di base, le traduzioni della nostra applicazione devono risiedere in una determinata cartella, nominata a seconda della lingua, ad esempio:
application/language/english
application/language/italian
I file di traduzione devono terminare con il suffisso _lang.php e devono essere così strutturati:
/**
 * File application/language/italian/prova_lang.php
 */
$lang['chiave_1'] = "Messaggio tradotto 1";
$lang['chiave_2'] = "Messaggio tradotto 2";
//esempio pratico
$lang['welcome_title'] = "Benvenuti!";
Per poter essere disponibile a controller o viste, il file di traduzione deve essere caricato:
$this->lang->load('filename', 'language');
//seguendo l'esempio precedente
$this->lang->load('prova', 'italian');
Il primo parametro della funzione è il nome del file da caricare, senza estensione e senza suffisso; il secondo è la lingua desiderata (se omesso, CI utilizzerà la lingua predefinita, impostata in application/config/config.php), che coincide con il nome della sottocartella, ad esempio italian. Ora carichiamo una delle stringhe tradotte definite in precedenza:
echo $this->lang->line('welcome_title');
Per una internazionalizzazione completa, è necessario tradurre nelle lingue desiderate, con relative cartelle, anche i messaggi inglesi dei vari componenti di CodeIgniter, che si trovano in
system/language/english 

Prima parte della guida: Guida Codeigniter 1 - Introduzione
Seconda parte della guida: Guida Codeigniter 2 - Primi passi
Terza parte della guida: Guida Codeigniter 3 - Uso avanzato

EDIT:
Ho pubblicato la guida in formato PDF contenente tutti gli argomenti affrontati sul blog, liberamente scaricabile e stampabile. La trovate al link:
http://stefanobianchini.blogspot.it/2012/11/guida-codeigniter-modo-mio-pdf-in.html

1 commento:

Fabio ha detto...

Ciao Stefano,

prima di tutto grazie per l'ottima guida in italiano.

L'ho trovata veramente utile....

In merito alla gestione della lingua ti chiedo come gestisci il cambio della lingua.

In sostanza come passare da una lingua all'altra usando i classici link con le bandierine....

Secondo te qual'è il modo migliore?