Indice:
- Differenze tra il sistema integrato di Joomla4 e Falang
- Come installare un nuovo sito Joomla4 multilingua
- Installare lingue aggiuntive su Joomla già configurato e avviato
- Come configurare il pannello di controllo di Joomla4 per il multilingua
- Installare automaticamente i dati di esempio multilingua
- Come funziona il multilingua nativo di Joomla4?
- Ok, è tutto settato, ma ora come si procede?
- Cosa succede se non associo un articolo alla sua controparte?
- Ma non è un po' complicato?
Oggi affrontiamo un tema un po' spinoso: il multilingua di Joomla! Scopriamo come attivare questa feature e configurarla al meglio per poter sfruttare le potenzialità multilingua native di Joomla4
Sebbene il sistema nativo sia assolutamente integrato nel core (non servono plugin esterni) è sempre stato considerato un po' "macchinoso", infatti negli anni si sono diffuse estensioni di terze parti che facilitavano il lavoro di traduzione: un tempo esisteva Joomfish (per Joomla 1.5 e 2.5) che è stato rimpiazzato ormai da qualche anno da Falang, che ne ha preso il codice, l'ha migliorato e l'ha modernizzato.
Differenze tra il sistema integrato di Joomla4 e Falang
Le differenze tra i due sistemi sono abbastanza marcate, direi proprio concettuali: il sitema integrato di Joomla prevede la creazione di un articolo differente per ogni lingua (in questa guida prendiamo in esempio solo il core per evitare dilungamenti inutili), che verranno poi associati tra di loro. Quindi, per semplificare al massimo:
- Creo la categoria "CATEGORIA ITA" e la categoria "CATEGORIA ENG"
- Creo l'articolo "ARTICOLO ITA" e lo assegno alla "CATEGORIA ITA"
- Creo l'articolo "ARTICOLO ENG" e lo asseggno alla "CATEGORIA ENG"
- Associo tra di loro i due articoli in modo che, cliccando sulla classica bandierina del frontend, l'utente passi da una lingua all'altra dello stesso testo
Diciamo quindi che i contenuti sono raddoppiati. E stiamo parlando sia degli articoli, che delle categorie, che delle voci di menu, ecc...
Per quanto riguarda Falang invece l'articolo principale rimane uno soltanto: le traduzioni sono gestite internamente dal componente e non prevedono un raddoppio "manuale". Il risultato è un sito più "pulito" e con meno, apparenti, ridondanze.
Quali sono i pro e i contro dei due sistemi?
Usare il metodo integrato di Joomla ha un enorme pro: fa parte del core stesso di Joomla. Questo vuol dire che sarà sempre aggiornato con joomla stesso, non ci saranno mai problemi di compatibilità ed è ovviamente gratuito: in caso di aggiornamenti dopo molto tempo, non sarà necessario acquistare nuove licenze o similari.
Il contro è che ogni articolo è letteralmente duplicato, e questo solo nel caso in cui le lingue siano solo due. Se il sito ospita 10 lingue ci saranno 10 copie diverse di ogni articol e questo può generare confusione (in parte risolvibile con un uso furbo dei filtri nella visualizzazione lista degli articoli)
Usare Falang permette di gestire molto più semplicemente le traduzioni: ogni articolo avrà a fianco una "bandierina" che, cliccata, aprirà un modale dove inserire la traduzione del contenuto. La visualizzazione è quindi decisamente più pulita e di facile comprensione da parte di utenti anche inesperti.
Come contro abbiamo quelli di tutte le estensioni di terze parti: sono sviluppati da persone che non hanno a che fare con il core di Joomla che potrebbero benissimo smettere di lavorare da un momento all'altro. Inoltre lo sviluppatore deve stare sempre al passo coi tempi: se esce Joomla5 deve necessariamente aggiornare la sua versione altrimenti il componente rischia di diventare inutilizzabile in breve tempo. Infine ci sono i costi: Falang ha una versione gratuita, a cui però mancano diverse features interessanti (come le bandierine). Se si vuole aggiornare regolarmente il sito è necessario acquistare periodicamente anche una licenza di Falang.
In questa guida tratteremo esclusivamente il multilingua nativo di Joomla4, per una guida passo passo su come tradurre il tuo sito con Falang clicca qui.
Come installare un nuovo sito Joomla4 multilingua
Al momento dell'installazione di Joomla (qui potete trovare una guida su come scompattare il file ZIP di un Joomla nuovo di zecca sul vostro server) vi verrà chiesto se volete installare un Joomla4 pulito monolingua o se volete già installare più lingue. Questo passaggio è molto comodo perchè automatizza alcuni passaggi iniziali necessari per far funzionare il vostro sito con più lingue.
Subito dopo aver completato i passaggi iniziali dell'installazione (in cui viene chiesto info sul super admin, sul database, ecc..), comparirà questa schermata:
Nel caso in cui non vogliate un sito multilingua il gioco è fatto: cliccate su "Completa e Apri l'Amministratore" e cominciate a giocare con il vostro Joomla4 nuovo di zecca. Nel caso in cui invece vogliate installare una o più lingue aggiuntive cliccate su "Installa Lingue Aggiuntive >"
Vi comparirà questa schermata:
Qui potete selezionare le lingue che volete installare, basta fare il check a lato e poi cliccare in fondo su "Installa lingue selezionate":
ATTENZIONE: per installare automaticamente le lingue il vostro sito deve essere in HTTPS! Se il sito non è sicuro (quindi in http "normale") vi verrà fuori un messaggio di errore nel momento in cui cliccate su "Installa lingue selezionate"
A questo punto l'installer di Joomla4 vi chiederà quale lingua deve essere default nel pannello di controllo e quale lingua deve essere default nel frontend. Possono anche essere diverse tra loro: per esempio il pannello di controllo lo vedo in italiano mentre il sito sarà di default in inglese.
Una volta scelte le lingue predefinite siamo tornati alla pagina di chiusura dell'installer di Joomla. Clicchiamo su "Completa e Apri l'Amministratore", in questo modo la cartella "installation" sarà eliminata in automatico e avrete modo di cominciare a lavorare sul vostro nuovo Joomla4:
Installare lingue aggiuntive su Joomla già configurato e avviato
Nel caso in cui vogliate invece aggiungere delle lingue su un Joomla già installato i passaggi sono molto semplici:
- Cliccare nel menu a sinistra su "Sistema"
- Nel blocco "Installa" cliccare su "Lingue"
- Trovare la lingua desiderata e cliccare sul puslante alla sua sinistra "Installa"
Questo installerà i file di lingua e creerà una "lingua contenuti" che però sarà disabilitata. Per abilitarla e procedere con il multilingua puoi continuare la lettura direttamente qui sotto.
Come configurare il pannello di controllo di Joomla4 per il multilingua
Bene, siamo a metà dell'opera: le lingue sono installate ma il vostro sito in realtà non è ancora veramente in multilingua (mancano le bandierine, ecc..). Prima di poter utilizzare il sistema nativo di Joomla4 sarà necessario fare qualche operazione aggiuntiva.
Da pannello di controllo cliccate quindi su "Sistema" nella colonna di sinistra e poi nel blocco "Gestisci" cliccate sulla voce "Lingue contenuti".
Qui sarà presente una lista di tutte le lingue che abbiamo aggiunto in precedenza, ma saranno spubblicate:
Abilitate tutte le lingue che volete nel vostro sito Joomla4: possiamo abilitarle una a una cliccando sulla X grigia (che diventerà una spunta verde) oppure selezionandole con il checkbox e poi dal pulsante in alto cliccare su "Azioni" -> "Pubblica".
Ora che tutte le lingue sono pubblicate possiamo abilitare definitivamente il multilingua sul nostro sito Joomla.
Più in particolare le operazioni da fare, se il vostro sito è già attivo da tempo e ha già contenuti, sono le seguenti (ma aspettate a farle se avete un sito joomla4 nuovo di zecca!!!, leggete subito sotto):
- Abilitare il plugin "Sistema - Filtro lingua" (System - Language Filter, in inglese)
Per farlo basta andare da pannello di controllo -> plugin (oppure dal menu di sinistra "Sistema" -> "Gestisci" -> "Plugin: plugin", cercare il plugin e abililtarlo.
Le opzioni che trovate all'interno potete lasciarle così come sono, ma potete ovviamente personalizzare le vostre scelte:
- Lingua per nuovi visitatori: se lasciate così com'è il sito verrà visualizzato nella lingua che voi avete scelto come default. Altrimenti si baserà sulla lingua del browser dell'utente (se il browser è in inglese il sito verrà fuori in inglese, se il browser è in italiano il sito verrà fuori in italiano, nelle altre lingue verrà visualizzata la lingua di default)
- Lingua per nuovi visitatori: se lasciate così com'è il sito verrà visualizzato nella lingua che voi avete scelto come default. Altrimenti si baserà sulla lingua del browser dell'utente (se il browser è in inglese il sito verrà fuori in inglese, se il browser è in italiano il sito verrà fuori in italiano, nelle altre lingue verrà visualizzata la lingua di default)
- Abilitare il plugin "Sistema - Codice lingua" (System - Language code, in inglese).
Per farlo seguite le stesse indicazioni del plugin precedente. - Creare una categoria per ogni lingua
- Creare un articolo per ogni lingua (e le varie associazioni)
- Creare un menu per ogni lingua
- Creare una homepage per ogni lingua
- Pubblicazione del modulo multilingua per la scelta della lingua di visualizzazione (le classiche "bandierine")
Installare automaticamente i dati di esempio multilingua
Oppure utilizzare il sistema integrato di Joomla4 per fare tutto questo in automatico!
Da pannello di controllo del sito cercate il blocco "Sample Data". La seconda opzione sarà "Dati di esempio Multilingua", se cliccate su "Installazione" il sistema farà tutti gli step qua sopra in automatico, facendovi risparmiare parecchio tempo:
Come funziona il multilingua nativo di Joomla4?
Arrivati a questo punto avete già, tecnicamente, un sito multilingua perfettamente funzionante. Bisogna però capire il meccanismo che c'è dietro, perchè non è semplicissimo.
Andiamo per punti, in modo da essere più chiari possibile:
- I contenuti mulitlingua sono, di fatto, contenuti duplicati
- La versione in inglese e la versione in italiano di un articolo sono due articoli distinti
- Così come la versione in inglese e in italiano di menù, categorie, ecc...
- Gli articoli sono collegati tra di loro tramite associazione: questo ci permette di switchare da una lingua all'altra quando clicchiamo sulle bandierine
Vediamo quindi come sarà il nostro sito web dopo che abbiamo installato i dati di esempio multilingua:
Nuova struttura degli articoli:
ogni articolo sarà impostato per una sola lingua (nella colonna "lingua" non ci sarà il classico "tutte" ma la bandiera della lingua specifica) e sarà visibile la colonna Associazione dove, ora, sono impostate le altre le lingue oltre a quella dell'articolo stesso.
Cos'è l'associazione?
Serve per far capire al sistema che due articoli sono sostanzialmente la stessa cosa, ma in due lingue diverse. In questo caso particolare i 4 articoli nelle 4 lingue sono associati tra di loro, ed è stato fatto in automatico dalla feature che installa i dati di esempio multilingua.
Nuova struttura delle categorie:
Allo stesso modo anche le categorie saranno moltiplicate per il numero di lingue, e saranno associate tra di loro. Questo ci permetterà di avere aritcoli correttamente suddivisi tra di loro in base alle lingue e permetterà la corretta "visualizzazione layout blog" dei menu di Joomla.
Nuova struttura dei menu:
Anche i menu cambiano e si moltiplicano:
Ora ci sarà un menu per ogni lingua al cui interno ci sarà la home specifica per ogni lingua. Esatto: ogni lingua avrà la sua home:
Anche per i menu sarà presente la colonna "Associazione" che permette di collegare i menu delle varie lingue tra di loro.
Pubblicazione del modulo "bandierine" nativo di Joomla4
Ultimo step! Ora che abbiamo configurato il backend nel modo migliore per poter sfruttare la funzionalità multilingua è necessario dare la possibilità agli utenti di effettuare lo switch da frontend: questo si riesce a fare pubblicando il modulo nativo di Joomla chiamato "Language Switcher".
Lo trovate dal menu di sinistra -> Contenuto -> Moduli del sito -> "Language Switcher".
Se avete utilizzato la feature di installazione automatica del multilingua il modulo sarà già attivato e pubblicato, e nel frontend si visualizzerà in questo modo:
All'interno delle opzioni del modulo possiamo settare qualche personalizzazione, per esempio:
- "Testo precedente" e "Testo successivo": se vogliamo mettere qualche parola prima o dopo le bandierine
- "Usa menu a tendina": nel caso preferiate un dropdown rispetto ai 4 link delle bandiere
- "Usa immagini bandiere": se preferite le classiche immagini o il link formato testo (Per esempio "Italiano" o "IT")
- "Lingua attiva": se volete far vedere o meno anche la lingua attiva al momento (per esempio la bandiera Italiana se site già nella versione italiana del sito)
- "Visualizzazione orizzontale" se volete le lingua in fila orizzontale (o verticale altrimenti)
Ok, è tutto settato, ma ora come si procede?
Il più è fatto, una volta settata la struttura dei menu e delle categorie bisogna solo generare gli articoli. Quindi avete un blog e volete scrivere un nuovo articolo i passi da fare sono i seguenti:
- Create il vostro articolo intitolato "ARTICOLO ITA" e lo mettete nella categoria "CATEGORIA ITA"
- Aggiungete la versione inglese creando un nuovo articolo e chiamandolo "ARTICOLO ENG" che metterete nella categoria "CATEGORIA ENG"
- Associate i due articoli nella linguetta "associazioni" dentro uno dei due articoli:
NB: questa associazione è da fare una sola volta per coppia di lingue. Ossia se dall'articolo ITALIANO associo l'articolo INGLESE allora anche l'inglese è automaticamente associato all'italiano, non devo rifare la stessa operazione su entrambi gli articoli. - Create la versione francesce, tedesca, ecc... e associate via via le coppie di articoli, come avete fatto per la coppia italiano/inglese
Fine :-) Avete creato contenuto in 4 lingue e associato gli articoli tra di loro. Se è tutto fatto correttamente dovrebbero vedersi nei 4 menu che abbiamo impostato e cliccando sulle bandierine all'interno dell'articolo dovreste riuscire a passare da una versione all'altra.
Cosa succede se non associo un articolo alla sua controparte?
Domanda lecita: se mi dimentico (o non voglio perchè non ho intenzione di tradurre) di associare due articoli tra di loro (quindi, per esempio, la versione italiana e inglese dello stesso contenuto) allora il sistema non avrà modo di "passare" dalla versione italiana a quella inglese attraverso le "bandierine". Succederanno quindi due cose:
- Se ho creato una voce menù che mi lista tutti gli articoli di una categoria:
- Nella voce di menù principale il mio articolo comparirà
- Nella voce di menù tradotta non ci sarà versione tradotta del mio articolo. Nella lista ci sarà proprio un articolo in meno rispetto alla lista della lingua principale.
- Quando sono all'interno del singolo articolo il link della bandierina, non avendo un'associazione, farà redirect verso l'homepage della seconda lingua.
Creare siti con alcuni contenuti tradotti e altri nò può quindi generare un po' di confusione nell'utente.
Ma non è un po' complicato?
Si e no. Concordo che il sistema è, a prima vista, decisamente macchinoso. Bisogna entrare nel concetto di multilingua nativo e non è così semplice. Per siti con poche pagine però è perfetto perchè ci si mette relativamente poco a settare il tutto e non si è legati a componenti esterni che potrebbero essere non aggiornati, non sicuro o a pagamento.
Per siti particolarmente grandi o complessi (molti menu, contenuti, estensioni di terze parti, ecc...) la situazione rischia però di diventare caotica e degenerare in un ginepraio di contenuti duplicati impossibili da trovare e manutenere. In questi casi la risposta è una sola: FALANG, componente per Joomla 3 e Joomla 4 che semplifica di parecchio la gestione multilingua del sito.
Ci risentiremo presto per una guida dedicata a Falang: alla sua installazione e configurazione.
Amusez-vous bien avec votre logiciel multilingue Joomla !
Se ti è piaciuto questo articolo, condividilo!