Siti multilingua
Io vivo in Europa. L'Unione Europea ha 23 lingue ufficiali. Se avete intenzione di creare siti web per una di queste regioni, dovete pensare al multilinguismo. Due cose sono particolarmente difficili quando si tratta di creare siti web multilingue: la traduzione delle lingue di testo statiche di Joomla, e la traduzione delle voci di contenuto. Mentre la prima sfida può essere superata facilmente, il secondo presenta la vera sfida.
Joomla! 2.5 di base è disponibile in oltre 40 lingue e ci si aspetta che si arrivi presto alle altre lingue.
Costruiamo un sito web multilingua usando Joomla 2.5 di base in questo capitolo.
Pacchetti lingua di Joomla!
Potete scaricare i pacchetti di traduzione da Joomla Code Joomla! extension directory ed installarli usando Gestione estensioni dalla cartella estensione. Io ho fatto questo con il pacchetto di lingua Tedesca così come con quello di lingua Francese. Dopo l’installazione troverete le lingue installate (Figura 1) andando in Estensioni - Gestione lingua nel backend.
Figura 1: Lingue installate
Configurazione lingua
A partire da ora, bisogna dare un’occhiata alla configurazione lingua per controllare se le lingue sono pubblicate (Estensioni → Gestione lingua → Installate) e se gli attributi contenuto lingua sono corretti (Figura 2). Date un’occhiata a (Estensioni → Gestione lingua → Contenuto). Qui potete anche dare un nome diverso per lingue diverse. Se non c'è nessuna voce di contenuto per la lingua installata, createne una facendo clic sull’icona Nuovo. Questo è quello che mi è successo dopo aver installato il pacchetto di lingua Francese.
Figura 2: Modifica contenuto lingua
Plug-in Language Filter
Affinché Joomla! riconosca le diverse lingue, è necessario che il plug-in System → Language Filter in (Estensioni → Plug-In) sia stato attivato. Potete così configurare la lingua per mostrare al visitatore, sia la versione di lingua del vostro sito che l’impostazione del browser del cliente, semplicemente usando le impostazioni Opzioni. Un’altra impostazione di configurazione è il System Language Code. Se abilitato, il contenuto lingua verrà automaticamente cambiato nel frontend delle impostazioni lingua.
Figura 3: Plug-In - Language Filter
Ogni utente può configurare il suo linguaggio di frontend una volta che si è registrato nel frontend. La maggior parte del tempo, c’é un menu utente che, a seconda dei vostri diritti, vi offre diverse voci di menu. In questo menu utente, troverete anche il link al Vostro profilo. Cliccando sul link, poi potrete vedere e modificare i dati. Nelle Impostazioni di Base, del modulo di modifica del profilo, gli utenti possono scegliere tra altre configurazioni e impostare il loro linguaggio di frontend (Figura 4). Potrete usare la lingua predefinita del sito o uno dei contenuti lingua disponibili. A seconda di queste impostazioni, il plug-in lingua vi permetterà di vedere il sito nella corrispondente lingua.
Figura 4: Profilo utente - Impostazioni di Base
Modulo scelta lingua
Attivando il modulo Scelta Lingua, avete la possibilità di scambio tra le lingue nel front-end, indipendentemente dal fatto che siate un visitatore o un utente connesso. Nelle Impostazioni di Base potete aggiungere del testo e scegliere se la lingua debba essere visualizzata dal nome o dalla bandiera. Sono sicuro che template di terze parti forniranno particolari posizioni per questo modulo nel prossimo futuro. Nel template predefinito Beez2, la position-7 funziona bene in combinazione con le bandiere.
Figura 5: Scelta lingua
E' importante leggere il testo della descrizione con attenzione (e due volte)
Quando si scambiano le lingue e se la voce di menu visualizzata sulla pagina non è associata a nessun'altra voce di menu, il modulo reindirizza alla pagina iniziale predefinita per la scelta della lingua.
In caso contrario, se il parametro è impostato per il plug-in filtro lingua, reindirizzerà alla voce di menu associata della lingua scelta. Successivamente, la navigazione sarà quella definita per quella lingua.
Se il plug-in 'System - Language Filter' è disabilitato, questo potrebbe essere un risultato non voluto.
Metodo:
- Aprite la tabella Estensioni - Gestione Lingua e assicuratevi che la lingua che volete usare nei contenuti siano pubblicati ed abbiano un Language Code per URL così come il prefisso per l'immagine usata nel modulo visualizzato.
- Create una homepage assegnandogli una lingua ad una voce di menu e definirla come pagina Home Default per ogni contenuto lingua pubblicato.
- Successivamente, potete assegnare una lingua a qualsiasi Articolo, Categoria, Modulo, Newsfeed, Linkweb in Joomla.
- Accertatevi che il modulo sia pubblicato ed il plug-in abilitato.
- Quando usate le voci di menu associate, assicuratevi che il modulo venga visualizzato nelle pagine in questione.
- Il modo in cui vengono visualizzate le bandiere o i nomi delle lingue viene definito dall'ordinamento nella Gestione Lingue - Contenuto lingue.
Se questo modulo viene pubblicato, si consiglia di pubblicare il modulo con lo stato multilingua amministratore.
Voci contenuto multilingua
Come già detto, ogni voce di contenuto, come ad esempio un articolo, può essere assegnato ad una lingua. La difficoltà ora consiste nella creazione di tutti gli elementi di contenuto e tutte le origini e destinazioni lingue (Figura 5). Potete creare voci di contenuto in ogni lingua, ma sfortunatamente Joomla! 2.5 non offre ancora un flusso di lavoro di traduzione, questo vuol dire che dovete prestare attenzione per evitare errori.
Figura 6: Campo lingua
Un sito multilingua
Il mio esempio di sito è composto da
- una prima pagina con articoli,
- un blog,
- una pagina ‘Chi siamo’,
- un form contatto.
Tutte le voci di contenuto devono essere disponibili in diverse lingue (Figura 6).
Figura 7: Esempio sito web
Prima pagina
Per rendere più facile l'inizio ho creato uno screencast (sarà pubblicato a breve per la versione 2.5).
Questa è la versione 1.7 (che funziona ancora).
Creo alcuni articoli per ogni lingua con la funzione attributo (vedete il capitolo Un articolo tipo).
Creo un menu chiamato default con una voce di menu chiamata default, con link ad Articoli in evidenza. Configuro questa voce di menu come Home cliccando sull'icona Home. Il menu default non ha bisogno di un modulo corrispondente, dovrebbe semplicemente esistere (Questo comportamento è nell'attuale versione di Joomla! 2.5 e spero non verrà cambiato negli aggiornamenti imminenti).
Poi creo un menu per lingua ed il modulo menu corrispondente. Ho creato una voce di menu per ogni lingua : Home, Startseite, Accueil. Questi link del menu devono essere configurati come Home cliccando sull'icona Home. Se vedete la bandiera accanto alla voce di menu, tutto funziona bene, altrimenti... guardate lo screencast :)
Figura 8: Una prima pagina per ogni lingua
A blog
Nel mio caso ho già un blog all’indirizzo cocoate.com, per questo uso il componente newsfeed per la visualizzazione delle voci del blog esterno. Creo una voce feed per ogni lingua e le corrispondenti voci di menu (vedete il capitolo Newsfeed).
Una pagina 'Chi siamo'
Creo una pagina 'Chi siamo' come descritto nel capitolo Come creare una pagina 'Chi siamo' per ogni lingua.
Un form contatto
Io uso un unico form di contatto per domande generali. Ho bisogno di una sola voce di contatto, quindi non è necessario assegnare una lingua. Solo se i dati di contatto si differenziano nelle diverse lingue, ad esempio, indirizzo o e-mail, sarà necessario creare una voce di contatto per ogni lingua.
Login form
In ogni pagina sarà visibile un form di accesso. Ho copiato un modulo login in Inglese due volte, configurato l’assegnazione menu, cambiato il titolo e assegnata la lingua corretta. Ora è possibile accedere e registrarsi al mio sito.
Menu utente
Ho usato il menu utente esistente, che fornisce un collegamento al vostro profilo così come per la creazione di un articolo o link web (Figura 8).
Figura 9: Modifica front-end
Come potete vedere, la creazione di un sito multilingue con Joomla! è abbastanza semplice.
Override lingua (sostituzione lingua)
Se notate che le stringhe lingua non sono appropriate al vostro sito web potete cambiarle in Estensioni -> Gestione Lingua -> Override (Sostituzione).
Una stringa di lingua è composta da due parti: una costante lingua specifica ed è un valore.
Per esempio, nella stringa:COM_CONTENT_READ_MORE="Read more: "
'COM_CONTENT_READ_MORE' è la costante e 'Read more: ' è il valore.
Dovete usare la costante lingua specifica al fine di creare una override (sostituzione) del valore.
Quindi, potete cercare la costante o il valore che volete cambiare con il campo ricerca sotto.
Cliccando sul risultato desiderato la costante corretta sarà automaticamente inserita nel form.
Potete cercare queste stringhe di lingua e sostituirle riempiendo il form con il vostro testo personalizzato (Figura 10).
Figura 10: Override lingua














0 commenti
Invia nuovo commento