Joomla permette la realizzazione di un sito multilingua grazie ad un'estensione che è diventata uno dei punti di forza di ogni sito web che vuole diffondere informazioni in molteplici linguaggi: Joom!Fish. Essa consente agli amministratori di un sito Joomla di tradurre il contenuto, le voci di menu, i contenuti offerti attraverso altre estensioni.
Supponiamo che abbiate un sito Joomla 1.5, in cui è installato - oltre alla lingua inglese - il supporto per la lingua italiana. Colleghiamoci al sito ufficiale di Joom!Fish, premiamo il link "Download" e scarichiamo l'ultima release stabile - al momento della scrittura dell'articolo, l'ultima versione è la 2.0.2.
Installazione
Apriamo l'interfaccia di amministrazione di Joomla e selezioniamo il menu "Estensioni | Installa / Disinstalla". Attraverso il form "Carica file pacchetto" cerchiamo il file di Joom!Fish e premiamo il pulsante "Carica file & Installa". Joomla procederà all'installazione di Joom!Fish e di tutti i suoi moduli e plugin. Al termine dell'operazione comparirà una schermata in cui verranno riassunti i risultati di ciascuna installazione - positivi, se tutto andrà per il verso giusto.
L'installazione di Joom!Fish comprende:
- il componente, accessibile attraverso il menu "Componenti | Joom!Fish", da cui si può configurare il comportamento dell'estensione e procedere alla traduzione dei contenuti.
- il modulo mod_jflanguageselection, utilizzato per permettere al visitatore di scegliere la lingua di preferenza attraverso comode bandierine o identificatori alfabetici (IT, EN..).
- i plugin Jfdatabase e Jfrouter, usati per il funzionamento dell'estensione.
- il plugin Jfalternative, usato per mostrare una lista di collegamenti al contenuto scritto nei linguaggi alternativi.
- i plugin Jfcategories, Jfcontacts, Jfcontent, Jfnewsfeeds, Jfsections e Jfweblinks, usati per la ricerca multilingua.
- il plugin Missing_translation, che si occupa di gestire i contenuti che non hanno una traduzione.
Configurazione
il modulo mod_translate, usato per permettere all’amministratore del sito di tradurre i contenuti.
Terminata l'installazione, apriamo il pannello di controllo di Joom!Fish attraverso il menu "Componenti | Joom!Fish | Control Panel". Questo pannello è il punto di partenza per molteplici operazioni, come la configurazione di Joom!Fish, la gestione delle lingue presenti nel sito, l'interfaccia di traduzione, le statistiche e la gestione delle estensioni.
Come prima cosa aggiungiamo un linguaggio al sito premendo il pulsante "Language Configuration". Come possiamo vedere, se abbiamo installato la lingua italiana nel sito abbiamo a disposizione inglese ed italiano.
Per ora è attiva soltanto la lingua inglese: spuntiamo il checkbox nella colonna "active" riferita alla riga della lingua italiana e premiamo il pulsante "Applica". Sempre rimanendo in questa pagina possiamo notare che la colonna "Fallback" permette di inserire una lingua verso cui rimandare i visitatori se un contenuto non è disponibile nella lingua prescelta: basta ad esempio inserire “en-GB” nella riga italiana per rimandare alla lingua inglese.
La colonna "Image filename" permette invece di personalizzare le bandierine della lingua, semplicemente inserendo in questa casella il percorso di un immagine relativo alla cartella di default delle immagini di Joomla, impostata attraverso il menu "Sito | Configurazione".
Premendo il pulsante presente nella colonna "Config" possiamo configurare alcuni aspetti molto importanti per un sito multilingua, diversi per ogni linguaggio presente:
- il messaggio mostrato agli utenti quando il sito è offline.
- il nome del sito
- la descrizione del sito (meta description)
- le parole chiave (meta keyword)
- il server a cui collegarsi per ottenere le pagine di aiuto (http://help.joomla.org per la lingua inglese TODO per la lingua italiana)
- l'email di riferimento del sito
- il nome da indicare come mittente nelle email
Terminate le modifiche, premiamo il pulsante "Salva" per tornare al Language Manager. A questo punto possiamo iniziare con la traduzione del sito: dal Control Panel di Joom!Fish premiamo il link "Manage Translations" o premere il link nel menu interno di Joom!Fish.
Il pulsante "Copy original to language" consente di copiare tutti gli elementi del sito pubblicati nella lingua di default e copiarli in un'altra lingua - può essere una funzione utile. Terminata la copia è poi possibile partire con la traduzione.
Dato che il sito Joomla di esempio presenta i contenuti in inglese, è possibile associare questi contenuti alla lingua inglese selezionando tutte le caselle nella colonna "Copy to language" e selezionando la lingua inglese in "Select language", quindi è possibile premere il pulsante "Copia".
Lasciare il tempo a Joom!Fish di procedere con l'operazione, fino a che non viene mostrato il messaggio "Copying of the originals to the translation sucessfully completed". Possiamo passare alla traduzione dei contenuti attraverso il menu "Translation". Sulla destra della pagina possiamo vedere i box di scelta "Languages" e "Content elements". Effettuiamo una traduzione di prova: selezioniamo "Italian - Italy" in "Languages" e "Contents" in "Content elements". Verranno visualizzati tutti gli elementi di contenuto presenti nel sito.
Nessun contenuto è ancora stato tradotto in italiano, per cui tutte le voci riportano nella colonna "State" un pallino rosso e la colonna "Published" mostra che l'elemento non è stato pubblicato. Clicchiamo il primo elemento, "Can Joomla! 1.5 operate with PHP Safe Mode On?".
Attraverso questa interfaccia possiamo tradurre tutte le voci che compongono un articolo: il titolo, l'alias del titolo, il testo introduttivo, il testo completo, le immagini, le meta keyword, la meta descrizione, la data di inizio e fine pubblicazione ed i vari attributi e preferenze associati. Spuntiamo il box "Published" e salviamo l'articolo.
Le traduzioni in lingua inglese sono state fatte ma non sono ancora state pubblicate: per ogni content element dobbiamo spuntare tutte le caselle e premere il pulsante "Pubblica". Ora apriamo il frontend. Come possiamo notare, abbiamo due icone che indicano la presenza dei contenuti in due lingue differenti: un meccanismo molto intuitivo per gli utenti del sito.
Cerchiamo l'articolo che abbiamo appena tradotto, inserendo i termini "safe mode" nel form di ricerca. La pagina dei risultati mostra lo stesso articolo, in inglese ed in italiano.
Selezioniamo il risultato in italiano, ed il sito intero verrà mostrato in italiano. Cliccando l'icona della lingua inglese, l'articolo ed il sito saranno visualizzati in tale lingua. Torniamo al backend di Joomla e accediamo al menu "Statistics" di Joom!Fish per ottenere informazioni sullo stato delle traduzioni.
Cliccando su "Check Original Status" verrà mostrata una tabella che indica, per ogni tipo di contenuto traducibile, il numero di articoli originali, il numero di orfani e la percentuale di traduzione di ciascuna lingua pubblicata.
Gli orfani sono traduzioni di contenuto che è stato eliminato in Joomla. Siccome Joom!Fish gestisce le traduzioni in modo indipendente, può capitare che esistano traduzione di contenuto non più esistente, che è possibile eliminare grazie al pannello "Orphans".