• …vuoi RADDOPPIARE le visite del tuo sito? Scegli il miglior Hosting WordPress!

Giuseppe Fava

Follow @giuseppe_fava
  • Home
  • Internet
    • WordPress
    • Joomla
  • Pc e Software
    • Windows
    • Linux
  • Mobile VoIP
  • Altro
Home » Joomla Multilingua – ecco come funziona

Joomla Multilingua – ecco come funziona

di Leandro Botter Lascia un commento

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 ti sarà 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

Cronostoria del multilingua in Joomla

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.

  • tradurre l’interfaccia di Joomla:
    • scaricare e installare i file di traduzione dell’interfaccia
  • impostare la configurazione di base del multilingua:
    • creare le lingue dei contenuti (content languages)
    • attivare e configurare i plugin che gestiscono il multilingua
  • 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.

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)

Joomla multilinuga - Edit content language

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
Joomla multilingua - System language plugins

filtra i plugin il cui nome contiene la stringa lang

 

Joomla multilingua - System language filter

abilita e configura il plugin System – Language Filter

 

Strutturare e 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)

Joomla multilinuga - Main menu it-it

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.

alternativa joomfish joomla multilingua

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:

joomla multilingua menù

Dati di esempio multilingua – Menù

joomla multilingua categorie

Dati di esempio multilingua – Categorie di articoli

joomla multilingua moduli

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….

LEGGI ANCHE:   i 3 migliori plugin cache per wordpress

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 joomla multilingua

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:
    • la homepage della lingua impostata come predefinita per il sito
    • la homepage della lingua impostata come preferita nel browser del visitatore

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.

FacebookTwitterLinkedinPinterest

Archiviato in:Internet Contrassegnato con: joomla, moduli, multilingua, plugin

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

offerte amazon
Ad - Web Hosting SiteGround - Creato per semplificare la gestione del sito. Clicca per scoprire di più.

Copyright © 2023 · Privacy policy · Realizzato da Giuseppe Fava · con il miglior hosting WordPress · Contatti

Go to mobile version