Fino ad ora ci siamo dedicati alla traduzione di articoli e pagine.

Ma un sito non è composto solo da questi contenuti.

Abbiamo come prima cosa i widget, ma non solo.

Infatti a volte, il tema o i plugin possono generare dei testi che necessitano di traduzione.

Prendiamo come esempio gli spazi widget che vengono utilizzati dai temi per creare i vari blocchi del footer. Per tradurli dovremo utilizzare lo strumento per la traduzione delle stringhe.

Vai quindi alla sezione Localizzazione del tema e dei plugin.

Come dicevo all’inizio del corso, questo è un modulo che fa parte della licenza Multilingual CMS, mentre nella Multilangual Blog non è presente.

Nella prima impostazione devi dire a WPML come intendi gestire la traduzione delle stringhe.

Però, prima di guardarle singolarmente dobbiamo capire cosa sono i file con estensione .mo.

Quando viene creata un’applicazione, quale appunto WordPress, piuttosto che i plugin e i temi, gli sviluppatori che li creano devono tenere in considerazione che il loro programma potrebbe essere utilizzato da utenti di diversa lingua.

Pertanto, lo sviluppatore non deve creare il codice di programmazione diverso per ogni lingua, ma predispone l’applicazione in maniera tale che ogni volta si visualizzi del testo, ne prende la relativa traduzione da un file, appunto il file con estensione .mo.

Andiamo a vedere dove trovare i file .mo di WordPress, temi e plugin.

Partiamo da WordPress stesso. Se entri nella cartella wp-content hai subito la directory languages. Dentro di questa vedi subito, per esempio per l’admin di WordPress, il file admin-it_IT.mo.

Subito sotto hai anche il file .po. Questo file serve, come vedrai nella lezione successiva sull’applicazione Poedit, proprio per creare il file .mo. Immaginalo come un file .psd di photoshop tramite il quale generi una jpeg. O come un file di excel con cui crei un pdf o un file csv.

Sempre in questa cartella vedi le directory plugins e themes. Vedendone il contenuto deduciamo che sono appunto le traduzioni di plugin e temi, ma non di tutti. Infatti alcuni, come WooCommerce o i temi Twenty, salvano i propri file .mo in queste cartelle, ma non tutti seguono questa direttiva.

Entriamo quindi dentro ai file di Divi e vediamo la cartella lang, dentro alla quale ci sono tutti i file .mo delle diverse lingue in cui è stato tradotto il tema.

Andando dentro alla cartella di un plugin, come per esempio Ginger per la cookie law, vediamo la cartella languages ed anche questa contiene i file di traduzione di questo plugin.

Ok perfetto. Ora possiamo tornare alle impostazioni di localizzazione di WPML.

Ci sono 3 strade differenti:

Abbiamo la possibilità di gestire la totalità delle traduzioni delle stringhe tramite lo String Translation di WPML.

Possiamo utilizzare String translation, ma anche caricare i file .mo come backup.

Non usare string translation, ma affidarci solo ai file .mo.

A volte però, i file .mo, sono file pesanti che impiegano del tempo per essere caricati.

Pertanto in linea generale partiamo sempre con la prima impostazione selezionata, che è quella di default. Se, in fase successiva, dovessi incontrare delle problematiche, allora puoi fare dei test con le altre due alternative.

Dicendo a WPML di gestire le traduzioni utilizzando String Translation, quello che farà sarà caricare le traduzioni dai file mo dentro al database all’attivazione del tema e dei plugin.

In questo modo l’importazione viene fatta una volta sola e sarà ottimizzata direttamente sul tuo progetto. Potrai poi gestirne la traduzione direttamente da String Translation.

Questa scansione la puoi far fare anche manualmente.

Basta che selezioni il tema o il plugin che vuoi sottoporre a scansione e premi “Scansiona i plugin selezionati per rilevare le lingue”.

Si apre un popup dove veniamo avvisati del lavoro in corso e lo dobbiamo lasciare lavorare fino alla fine del processo.

Passiamo ora alla traduzione andando alla sezione Traduzione stringhe.

In questa sezione trovi tutte le stringhe di testo che widget, temi o plugin presentano all’utente, o lato front end, quello che vedo il visitatore del tuo sito, o lato backend, il pannello di amministrazione.

Infatti WPML da la possibilità di tradurre anche l’admin di WordPress. Questo potrebbe essere il caso in cui stai realizzando per un cliente un sito in più lingue e ti trovi nella situazione in cui, installato un plugin, ti accorgi che non fornisce la traduzione nella lingua desiderata.

Ora. Tieni presente che non devi tradurre tutte le voci che vedi selezionate, è un lavoro mastodontico di cui non ne hai bisogno. Quello che devi fare è navigare sul sito e trovare le stringhe di testo che ci sono da tradurre.

Prendendo l’esempio del footer di prima, abbiamo la voce Non solo Ristorante che deve essere tradotta.

Vediamo come effettuarne la ricerca.

Nel primo menu a tendina puoi dire a WPML di fare la ricerca in Tutte le stringhe, solo in quelle completate ecc… Lasciamo tutte le stringhe.

Nella seconda, e questa è la più importante, dici a WPML dove è la stringa che stai cercando.

Come vedi in questo elenco ci sono i plugin che abbiamo installato sul questo sito, come Akismet. Abbiamo anche il tema, ovvero DIVI e anche i Widget.

Essendo il footer composto da widget, lo seleziono.

La schermata si adatta proponendomi dei risultati. Ed ecco qui la scritta Non solo ristorante.

Però…. Noti qualcosa di strano? La scritta Non solo ristorante è in italiano, ma la bandierina mi indica che è inglese. Premo quindi sul link Traduzioni per inserirla e vedo che mi da la possibilità di scrivere la traduzione per l’italiano. C’è qualcosa che non va? No, è tutto giusto ed ora ti spiego il perché.

WordPress è sviluppato in lingua inglese. O meglio. WordPress è frutto della programmazione, di file di codice che vengono eseguiti, il cui risultato è quello che vediamo tutti i giorni sotto ai nostri occhi. È però un prodotto internazionale, tutti lo usano, pertanto fra i programmatori si sono stabilite delle regole. Una di queste è che in fase di programmazione, di un tema o plugin, quando ci sono delle stringhe da mostrare all’utente, all’interno del codice sorgente queste devono essere in inglese e predisposte per essere tradotte nelle altre lingue.

I contenuti dei widget pertanto rientrano sotto questa logica. Ma non ti preoccupare, c’è un modo semplicissimo per ovviare a questo problema, che logicamente non sussiste se la prima lingua del tuo sito è appunto l’inglese.

Una soluzione potrebbe essere quella di andare nel widget, e cambiare i contenuti in inglese, come faccio per questo titolo. Verifico front end e abbiamo la modifica applicata.

Torno in traduzione stringhe e aggiorno la pagina. Ok. Ora ho il testo inglese associato alla lingua corretta e posso procedere con la traduzione italiana.

Indico a WPML che questa traduzione è completata (cosa che mi serve per esempio nel filtro che abbiamo visto prima), e salvo…. Torno a verificare frontend e la scritta è stata tradotta in italiano.

Nelle versioni precedenti di WPML questo processo era obbligatorio. Invece ora c’è una scorciatoia.

Prendiamo l’esempio della stringa Commenti Recenti. La selezioniamo e premiamo il pulsante qui sotto “Modifica la lingua delle stringhe selezionate” (avremmo potuto anche selezionarne più di una così da fare il procedimento una volta sola).

Ora diciamo a WPML che questa stringa è in italiano.... E come vedi l’associazione è andata a buon fine, trovando la bandierina italiana.

Ora premi su Traduzioni e inserisci la traduzione per la lingua inglese…. Segnala che la traduzione è stata completata e salva.

Ora… se non sai da chi è generata una stringa, quindi non sai se è un plugin, quale plugin, il tema o un widget, puoi fare una ricerca per la stringa specifica. Basta che la inserisci qui e avvii la ricerca. In questo caso utilizziamo Commenti recenti che si trova sempre nel nostro footer.

Eccola qui e possiamo procedere nella traduzione e così facciamo anche per tutti gli altri spazi widget del sito.

Controlliamo quindi la versione inglese …. Poi quella italiana. E tutto sembra corretto.

Ora non ti resta altro se non armarti di pazienza, sfogliare le diverse pagine del tuo sito e, quando incontri qualcosa di non tradotto, nel footer, nella sidebar o in altre sezioni, altro non devi fare se non venire qui in String Translation e procedere con la traduzione.

Per esempio noto la stringa sotto al footer che deve essere tradotta.

La copio, rientro in String translation e la incollo per fare le ricerca generale di questo testo.

Perfetto, viene trovata e vedo che fa parte appunto del tema Divi e procedo con la traduzione.

Nel caso in cui non riuscissi a trovare una stringa di testo le cause potrebbero essere diverse.

Se per esempio stai utilizzando l’impostazione “Traduci i temi e i plugin utilizzando il modulo String Translation di WPML e carica sempre i file .mo come backup”, allora potrebbe essere il caso in cui la traduzione che cerchi è all’interno del relativo file .mo.

Prima di chiudere ancora un paio di informazioni.

Alcuni temi, come per esempio Enfold, hanno delle aree dedicate alla gestione delle opzioni del tema.

Come puoi vedere, dalla questa voce del menu, ci indica che sono le impostazioni per la lingua italiana. Da questo possiamo dedurre che Enfold ci da la possibilità di personalizzare le opzioni generali per la singola lingua.

Infatti prendiamo come esempio l’impostazione del tipo di layout.

Nella versione italiana ho messo Layout allungato, ma se andiamo in quella inglese, cambiandola dal menu in alto… vediamo come il tipo di layout per questa lingua sia quello inscatolato.

Logicamente non è così per tutti i temi e come più volte detto, ognuno di loro ha le sue impostazioni e peculiarità.

Infine, proprio perché in questa lezione abbiamo parlato anche di widget, la chiudiamo con un’altra funzione WPML aggiunta di recente. Hai la possibilità di decidere per singolo widget in quale lingua mostrarlo… se in tutte le lingue, in inglese o in italiano.

Ora abbiamo proprio finito. Ci vediamo nel prossimo video.

Ciao, hai una domanda su questa lezione?

Iscriviti al sito o effettua il login


  1. Paola
    Paola dice:

    Ciao quando parli della “localizzazione del tema e dei plugin” nella schermata che si vede al min 3 nella tua hai tre scelte, nella mia schermata invece ne ho solo due :

    A) Automatically load the theme’s .mo file using ‘load_textdomain’
    Inserisci il text domain:

    B) Usa i text domain del tema o dei plugin quando le chiamate gettext non utilizzano una stringa letterale

    Quale di queste devo spuntare ?

    In alto a questa parte mi compare una scritta così :

    WPML ha rilevato file MO modificati o caricati di recente

    Non so proprio che fare … scusa l’ignoranza …suggerimenti magici ?

    Rispondi
    • Lorenzo
      Lorenzo dice:

      Ciao Paola, lasciale così come sono.
      I temi e i plugin verranno tradotti con il modulo String Translation.
      Se nel tuo sito ti accorgi che c’è una frase o una parola che appartiene al tema o ad un plugin, allora andrai in Traduzione Stringhe per fare una ricerca di quel testo e poi tradurlo.
      Se non lo trovi vai nella sezione “Localizzazione del tema e dei plugin”, selezioni quello interessato, fai la scansione e poi torni in Traduzione stringhe per farne la traduzione.

      Buona giornata

Non vuoi fare da solo?

Non vuoi fare da solo?

Per realizzare il tuo progetto o per risolvere qualsiasi problematica, rivolgiti al nostro Team di professionisti.

oppure chiamaci allo 02.9843140

You have Successfully Subscribed!

Pin It on Pinterest