Supporto volontario e collaborativo per Joomla!® in italiano

Come funziona il multilingua in Joomla

Valutazione attuale: 5 / 5

Stella attivaStella attivaStella attivaStella attivaStella attiva
 
CMS-Pro - Come funziona il multilingua in Joomla

In un sito multilingua i contenuti sono traducibili grazie al selettore della lingua (language switcher).

Molte guide in rete ti mostrano come installare e configurare Joomla multilingua. Più difficilmente trovi indicazioni su come funziona.

Capire la logica seguita dal processo di traduzione è molto utile per strutturare e collegare tra loro gli elementi del sito che gestiscono i contenuti nelle varie lingue.

L'obiettivo di questa guida è quello di racchiudere in un solo articolo le cose essenziali che devi conoscere per creare un sito multilingua con Joomla.

Al termine della lettura saprai:

  • come attivare e configurare il multilingua
  • come organizzare a associare i contenuti multingua
  • come funziona la logica di traduzione

Breve excursus storico

Con le prime versioni di Joomla, per realizzare un sito multilingua era necessario utilizzare un'estensione, come JoomFish. Dalla versione 1.7 è stata introdotta nel CMS la logica di associazione tra elementi di lingue diverse, inizialmente supportata solo dalle voci di menù e poi estesa ad articoli e categorie di articoli  con la versione 3.0.2. Per il futuro l'intento è quello di estendere la stessa logica a tutti i componenti (contatti, banner, feeds, ... e relative categorie).

Attivare e configurare il multilingua in Joomla

In un CMS l'impostazione di un sito multilingua comprende:

  • la traduzione dell'interfaccia di amministrazione del CMS
  • la traduzione dei contenuti del sito

Per tradurre l'interfaccia di Joomla devi scaricare e installare appositi file (lodevolmente gestiti dal team di traduzione Italiano di Joomla) che contengono la traduzione delle varie stringhe (etichette di testo per caselle, pulsanti, menù, messaggi di errore, tips di aiuto, ecc.).

In merito, invece, ai contenuti del sito, il tuo lavoro non riguarda tanto la stesura dei testi e delle relative traduzioni (generalmente realizzati dal committente o da professionisti specializzati) quanto la predisposizione di una struttura (menù, articoli, moduli) adatta ad associare tra loro i contenuti tradotti, in modo che Joomla li carichi correttamente in base alla lingua selezionata.

Focalizziamo intanto le azioni da compiere.

  • strutturare i contenuti del sito:
    • creare un menù principale per ogni lingua
    • creare e associare tra loro gli elementi del sito (voci di menù, articoli, categorie di articoli, moduli)

Il processo di installazione di Joomla permette di eseguire queste operazioni in modo automatico, seguendo le indicazioni mostrate al termine del processo di configurazione iniziale e scegliendo di installare anche i contenuti di esempio (vedi la guida per configurare automaticamente il multilingua in Joomla).

Di seguito ti mostro, passo per passo, come eseguire manualmente queste operazioni, in modo che tu possa configurare il multilingua anche in fasi successive all'installazione.

Traduzione dell'Interfaccia di Joomla

Devi semplicemente installare i file con le traduzioni per le lingue diverse dall'Inglese (default in Joomla).

Da Extensions > Language(s) > Installed:

  • clicca sul pulsante Install languages
  • seleziona le lingue che vuoi installare
  • clicca sul pulsante Install

Finito.

Configurazione base del multilingua in Joomla

Lingue dei Contenuti (Content Languages)

Le lingue dei contenuti (content languages) sono quelle che ritroverai nella casella Lingua dei vari elementi di Joomla e nel selettore della lingua (language switcher). Devi quindi creare una lingua dei contenuti per ogni lingua in cui intendi tradurre il tuo sito.

Da Extensions > Language(s) > Content Languages:

  • clicca sul pulsante New e inserisci i dati richiesti (vedi come esempio quelli inseriti nella lingua Inglese)

filtra i plugin il cui nome contiene la stringa lang

Plugin di gestione del multilingua

Per far si che il multilingua entri in funzione (e quindi attivare i meccanismo per cui il cambio della lingua selezionata nel language switcher comporta il caricamento dei contenuti tradotti) devi abilitare il relativo plugin.

Da Extensions > Plugins:

  • per comodità, filtra i plugin il cui nome contiene la stringa lang
  • abilita e configura il plugin System - Language Filter
  • facoltativo (ma consigliato): abilita il plugin System - Language Code

filtra i plugin il cui nome contiene la stringa lang


abilita e configura il plugin System - Language Filter

Strutturare a associare i contenuti multilingua in Joomla

In Joomla è possibile associare tra loro gli elementi che rappresentano la traduzione di un contenuto in lingue diverse. Ti mostro come.

Creazione dei Menù Principali per le lingue

Per ogni lingua dei contenuti devi:

  • creare un main menù
  • creare una voce di menù e impostarla come Pagina di Default (Default page)

Quindi, da Menus > Manage:

  • clicca sul pulsante New e inserisci i dati richiesti (vedi come esempio quelli inseriti nel menù Main Menu)

Nel menù appena creato inserisci ora una voce di menù e impostala come Default page, facendola così diventare la homepage per la lingua in questione. Per semplicità ti consiglio di clonare la homepage principale del sito.

Da Menus > Mani Menu (quello contrassegnato con l'icona di una casa):

  • edita la voce di menù Home e clonala cliccando sul pulsante Save as Copy
  • in relazione alla nuova voce di menù ottenuta dalla clonazione:
    • correggi nome e alias
    • imposta la lingua
    • imposta il main menù relativo alla lingua
    • impostala come Pagina di Default
    • pubblicala

Una volta pubblicata, vedrai comparire, sia in corrispondenza della voce di menù che affianco al relativo main menù, l'icona della bandiera corrispondente alla lingua.

Strutturazione degli elementi (menù/categorie/articoli/moduli) di un sito multilingua in Joomla

Non credo sia necessario che ti spieghi come si crea un menù, un articolo, una categoria o un modulo, né tanto meno come si può associare ognuno di questi elementi ad una lingua (anche se più avanti ti mostro come fare ;)).

Credo invece sia più interessante farti osservare come Joomla struttura e associa tra loro i contenuti di esempio se, in fase di installazione, scegli di configurare automaticamente il multilingua.

Partiamo dagli screenshot:

dati di esempio multilingua – Menù


dati di esempio multilingua – Categorie di articoli


dati di esempio multilingua – Articoli


dati di esempio multilingua – Moduli


Ti sottolineo l'importanza di impostare adeguatamente la lingua degli elementi di un sito multilingua. Se non sei abituato a preoccuparti di impostare la lingua, potresti ritrovarti a perdere del tempo chiedendoti perché un elemento non compare dove dovrebbe....

Associazione di voci di menù, articoli e categorie di articoli

Negli screenshot che mostrano i dati multilingua di esempio puoi notare che le voci di menù, gli articoli e le categorie di articoli presentano la colonna Associazione (Association). Questo significa che ognuno di questi elementi può essere associato ad un altro elemento in una lingua diversa. In buona sostanza: ogni elemento può essere associato ad altri elementi che ne costituiscono la traduzione.

Associare tra loro degli elementi è semplicissimo: basta editarne uno e, dalla scheda Associazioni, selezionare i corrispondenti nelle altre lingue.

Associazione di articoli

Ovviamente se crei l'associazione tra un articolo in Italiano e uno in Inglese ottieni automaticamente anche l'associazione inversa, tra l'articolo in Inglese e quello in Italiano.

Multilingua per i moduli

Se editi un modulo non trovi la scheda Associazioni, perché il caricamento di un modulo dipende (principalmente) dal menù a cui è assegnato (scheda Menu Assignment). Ti basta quindi assegnare i moduli relativi ad una lingua a delle voci di menù della stessa lingua.

Se un modulo è assegnato a tutte le pagine ti basta creare tanti suoi cloni quante sono le lingue dei contenuti e Joomla caricherà solo quello con l'impostazione della lingua corrispondente a quella selezionata nello language switcher. Ovviamente le impostazioni di questi moduli dovranno essere identiche, al netto di eventuali traduzioni dei testi.



Come funziona la logica di traduzione in Joomla

Capito come strutturare e collegare i vari elementi del sito, non ci resta che approfondire la logica con cui Joomla gestisce il caricamento dei contenuti associati quando un visitatore del sito sceglie una lingua nel modulo Language Switcher.

Comportamento di Joomla in configurazione multilingua

Quando un visitatore arriva nel sito, Joomla:

  • in base a quanto impostato nel plugin System - Language Filter (parametro Language Selector for new Visitor) carica:

Quando il visitatore cambia lingua:

  • se esiste, carica l'elemento associato a quello visualizzato
  • altrimenti, carica la homepage della lingua appena scelta

Precedenza delle associazioni in un sito multilingua di Joomla

Ricordando che la logica delle associazioni vale per menù, categorie ed articoli ma non per i moduli, la precedenza con cui Joomla verifica la associazioni è questa:

  1. Articolo
  2. Categoria
  3. Menù

Cosa significa questo?

Supponi di avere:

  • gli articoli:
    • "I nostri prodotti" in Italiano
    • "Our products" e "Our services" in Inglese
  • le voci di menù associate tra loro:
    • "Catalogo" che visualizza l'articolo "I nostri prodotti"
    • "Catalog" che visualizza l'articolo "Our products"

Considera i due casi in cui l'articolo "I nostri prodotti":

  1. non è associato ad alcun articolo
  2. è associato all'articolo "Our services"

Ecco cosa succede, nei due casi, se mentre stai navigando il menù "Catalogo" imposti l'Inglese nel selettore della lingua:

  1. Joomla carica il menù "Catalog" e quindi visualizza l'articolo "Our products"
  2. Joomla carica l'articolo "Our services"

Lo stesso comportamento si verifica se cambi lingua mentre stai navigando un menù che mostra l'elenco delle categorie: un eventuale associazione tra categorie prevale su un''associazione tra le voci di menù.

Perché devo associare anche gli articoli e le categorie? Non basta associare i menù?

  • Rispondo con una domanda: come fai a tradurre un articolo non direttamente collegato ad un menù (per esempio un articolo raggiunto da un link presente in un News Feed o in un modulo che visualizza gli articoli più letti)?
  • Supponi che le homepage delle lingue mostrino gli articoli In evidenza. Supponi di cliccare in uno degli articoli in evidenza e poi di cambiare lingua. Se l'articolo che stavi visualizzando non è associato ad un articolo nella lingua selezionata, allora Joomla non può far altro che caricare la homepage della nuova lingua.
  • Stessa cosa per le categorie. Supponi di aver associato i menù "Hobby" Italiano e Inglese, che mostrano rispettivamente le sotto-categorie delle categorie "Passatempo" e "Hobbies". Se mentre stai navigando la sotto-categoria "Libri" imposti la lingua inglese, non puoi aspettarti che Joomla sappia di dover caricare gli articoli appartenenti alla categoria "Books" a meno che tu non abbia esplicitamente associato tra loro le due sotto-categorie.



Note e suggerimenti

Se devi realizzare un sito multilingua con Joomla, il mio consiglio è di procedere - in linea di massima - in questo modo:
  • imposta il sito per il multilingua
  • termina l’intero sito concentrandoti esclusivamente sulla tua lingua: se hai già realizzato qualche lavoro sai bene che in corso d’opera tu o il tuo cliente cambierete idea sulla struttura o sui contenuti inizialmente concordati…
  • clona i contenuti per creare quelli nelle altre lingue, sistema le impostazioni (associazione della lingua, categoria, …) e poi traduci i testi
  • ricorda che per clonare i contenuti hai a disposizione oltre al pulsante Salva come copia la preziosissima funzione Azioni multiple (batch)


Anche se ti sembreranno scontate, mi permetto di sottolineare un altro paio di cose:

  • quando crei un modulo/articolo/menù… ricordati di impostare correttamente la sua lingua
  • se modifichi le impostazioni di un elemento (es. la categoria di articoli visualizzata da un menù) ricordati di modificare di conseguenza anche gli elementi associati nelle altre lingue

Alcuni template framework introducono funzioni aggiuntive (es. i Mega Menù) che possono influenzare la gestione standard del multilingua di Joomla. Se usi questi strumenti dovrai consultare anche la relativa documentazione.


Conclusioni

L'argomento multilingua è vasto e ci potremmo dilungare su diverse questioni come gli Overrides o la traduzione delle estensioni di Joomla, ma l'obbiettivo di questo articolo è mettere a fuoco i concetti e le operazioni di base, necessarie per impostare un sito tradotto in più lingue. Spero di essere riuscito nell'intento, ma se trovi delle parti poco chiare o che ritieni sarebbe bene approfondire, fammelo sapere nei commenti.




commentaCommenta questo articolo sul forum
Ho scritto e condiviso questo articolo su Joomla.it, fallo anche tu. Invia ora un nuovo articolo!
Leandro
Alcune informazioni su di me:


Ho anche scritto:
         ✔ diventa autore su Joomla.it

Calendario articoli

Gennaio 2017
Lun Mar Mer Gio Ven Sab Dom
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

Ultima versione di Joomla!®

downloadVer. 3.6.5 Stabile Italiana
Data di rilascio:14 Dicembre 2016
(leggi la notizia Demo online

Le migliori estensioni gratuite

Un elenco aggiornato con i link a più di 100 estensioni fra componenti, moduli e plugin gratuiti per Joomla! 3

Manuale in italiano

Manuale in italianoPer conoscere meglio Joomla!, le sue caratteristiche ed il metodo di utilizzo leggi il manuale tradotto in italiano.

Molto utili anche le risposte alle domande più frequenti: FAQ

Sicurezza del proprio sito Joomla!Leggi anche: Nozioni sulla sicurezza del proprio sito

Autori di articoli recenti

Invia un articolo!Scrivi un articolo su Joomla.it e ricevi i ricavi dalle pubblicità di Google Adsense!
Segui queste istruzioni, condividi e collabora con la community. L'elenco degli autori attivi sul sito.

Libri consigliati

Torna su

Joomla.it sui Social Network

JoomlaDay Italia

JoomlaDay

Newsletter

Inserisci qui la tua e.mail: