
Per creare un sito multilingua con Drupal 7 ci sono moltissimi moduli utili e con svariate configurazioni. Vediamo un semplice esempio per creare delle pagine sia in italiano che in inglese (ma puo' essere qualsiasi altra lingua). Scaricare e attivare i seguenti moduli: Entity Translation, Internationalization, Languages Icon, Translation Overview, Variable.
Se si devono tradurre anche alcune frasi/parole del core di Drupal o dei suoi moduli vedi: traduzione interfaccia.
Consiglio SEO: per non incappare in una penalizzazione da parte dei motori di ricerca, per le pagine che sono tradotte in più lingue, utilizzare Alternate hreflang.
Metodo passo passo
- Attivo tutti i moduli scaricati precedentemente
- Vado in Menu amministratore-configurazione-lingue e trovo gia' inserito l'inglese come lingua aggiuntiva (questo se quando ho installato Drupal ho scelto italiano come lingua del sito)
- se voglio aggiungere altre lingue oltre all'inglese clicco su Add Language
- Poi clicco in "Detection and Selection" (qui si imposta Drupal per leggere la lingua dell'utente) e spunto tutte le righe (poi saremo noi a cambiare a nostro piacimento queste impostazioni), clicco Salva
- Torno alla pagina precedente e alla fine delle righe clicco su Modifica
- Mi accerto che l'italiano sia impostato cosi'
- e che l'inglese sia impostato cosi' (e' probabile che si deve aggiungere "en")
- ora vado a configurare il menu' che elenchera' le pagine italiane/inglesi, nell'esempio io associo le pagine al menu Navigazionale
- menu amministratore-struttura-blocchi-menu navigazionale-configura e nel menu in fondo pagina scelgo Lingue e spunto la prima opzione (faccio questo così il nome del menu viene tradotto quando leggo pagine in inglese, se il menu non ha nome posso lasciar stare), clicco salva e traduci e inserisco la traduzione del nome del menu
- sempre nella pagina blocchi attivo il Language Switcher (user interface text) che sara' il mini-menu con bandiere per cambiare la lingua delle pagine
- ora vado in menu amministratore-struttura-menu-navigazionale-modifica e in fondo pagina tra Opzioni Multilingua segno la riga di mezzo, Traduci e localizza
- ora devo creare un nuovo tipo di contenuto che accogliera' le mie pagine in 2 lingue
- menu amministratore-struttura-tipi di contenuto-aggiungi_nuovo io ho creato un nuovo contenuto chiamato multilingua
- mentre creo il nuovo contenuto (menu a fondo pagina) su opzioni di pubblicazione metto questo
- e su multilingual setting lascio così
- salvo e vado ad impostare i vari campi della pagina
- inserisco un Campo Testo
- salvo e poi nel caso voglio tradurre l'etichetta Campo Testo clicco su Traduci
- inserisco la traduzione
- ora nella pagina di impostazione della visualizzazione dei campi scelgo se rendere visibile o meno l'etichetta che si crea automaticamente Lingua (se la lascio visibile ad ogni pagina che vado a creare trovero' sul fondo la scritta "Lingua" e poi "italiano" o "inglese")
- ora provo a creare una nuova pagina, prima in italiano e poi la traduco in inglese
- menu amministratore-aggiungi contenuto-multiligua (o il nome con cui avete chiamato il nuovo contenuto)
- inserisco il titolo della pagina, seleziono la lingua di quella pagina e scrivo nei vari campi testo
- associo la pagina ad un link del menu navigazionale e inserisco un nome per Url (e' importante che poi lo stesso nome Url venga scritto nella pagina in inglese)
- salvo la pagina e poi clicco su Traduci
- clicco su "Untranslated"
- ora si deve tradurre cio' che si era scritto precedentemente in italiano:titolo, e i vari contenuti dei campi; si puo' inserire il nome per il link che comparira' nel menu' e si deve inserire lo stesso Url che abbiamo inserito per la pagina in italiano
- cliccare su salva a fondo pagina
- come si puo' notare, la pagina e' stata tradotta e anche le etichette dei campi
- e' presente una bandierina a fine pagina che permette il cambio di lingua
- se notate la Url della pagina e la stessa tra le 2 lingue, pero' viene anteposta la sigla linguistica, ad es xxxx/it/gatto e xxxx/en/gatto; inoltre anche i link del menu' vengono cambiati nel passaggio da una lingua all'altra, vedi esempi sottostanti
- da notare che cambia anche il titolo del menu (se cosi' era stato impostato precedentemente)
Questo era solo un esempio di sito multilingua, ma come avete potuto vedere, ci sono moltissime maniere per configurare le varie pagine e in piu' si possono usare ulteriori moduli per personalizzare i nostri contenuti.
Commenti
switch automatico della lingua
Inviato da Alessandro (non verificato) il
Ciao!
Sono alle prese con un sito multilingua che funziona bene, selezionando la lingua desiderata dallo switcher visualizzo il sito in quella lingua (inglese www.esempio.com ed italiano www.esempio.com/it). Ora vorrei che venisse selezionata automaticamente la lingua corretta in base all'impostazione del browser dell'utente, quindi nella sezione admin/config/regional/language/configure ho selezionato le opzioni URL e browser (in questo ordine) sia per l'interfaccia che per il contenuto ma non viene eseguito il reindirizzamento al sito www.esempio.com/it quando un utente italiano visita il sito www.esempio.com.
Hai qualche suggerimento da darmi?
Grazie
Ciao Alessandro,
Inviato da Vanni il
Ciao Alessandro,
bisogna stare un po' attenti quando si modificano i "pesi" delle opzioni per la lingua, perchè potrebbe risentirne tutto il sito. Ti metto qualche link in cui spero tu possa trovare più informazioni a riguardo:
Ciao é possibile tradurre le
Inviato da Anonimo (non verificato) il
Ciao é possibile tradurre le viste?
Ciao, è possibile ma potresti
Inviato da Vanni il
Ciao, è possibile ma potresti incontrare qualche difficoltà, in quanto le viste hanno un contenuto dinamico.
Prova a usare questo modulo: https://www.drupal.org/project/i18nviews
Leggi anche qui: http://drupal.stackexchange.com/questions/7644/views-with-multiple-languages
Ricordati anche di aggiungere "lingua" come "Filter Criteria" nelle configurazioni della vista.