Quando scarichiamo un tema o un plugin per WordPress capita spesso di avere a che fare con prodotti creati per il mercato anglosassone. Normalmente, quindi, temi e plugin presentano scritte varie (titoli, bottoni, ecc.) in inglese che risultano decisamente poco professionali se il prodotto viene integrato all’interno di un sito in italiano.
Alcuni plugin e temi (soprattutto quelli a pagamento o i più conosciuti) offrono le traduzioni integrate per diverse lingue, ma molti altri no ed è necessario saper intervenire opportunamente. In questo tutorial vedremo, appunto, come gestire autonomamente la traduzione di un tema o di un plugin per WordPress agendo sugli appositi file di localizzazione normalmente presenti nella cartella lang o language del prodotto (tema o plugin) che desideriamo installare sul nostro sito WordPress Based.
Prima di entrare nello specifico del discorso, tuttavia, è necessario fare qualche premessa.
I file .po e .mo
WordPress utilizza la libreria gettext per l’internazzionalizzazione (i18n) dei contenuti. Senza scendere eccessivamente in tecnicismi, è sufficiente sapere che grazie a questa libreria (nata in seno alla community di sviluppatori del mondo Linux) è possibile distribuire il medesimo software in diversi lingue separando, in poche parole, il codice di programma dall’output testuale mostrato all’utente.
Nella gestione dei linguaggi WordPress utilizza, per ciascuna localizzazione integrata, due file distinti:
- un file .po (Portable Object): è un semplice file di testo e contiene la traduzione human readable delle diverse frasi usate nel software; la traduzione viene realizzata all’interno di un modello POT (Portable Objects Template);
- un file .mo (Machine Object): è un file contenente la versione compilata del corrispondente file .po.
Creando un nuova accoppiata di file .po/.mo, quindi, è possibile creare una nuova localizzazione del software.
La sintassi di un file .po
Come detto il file .po è un file di testo human readable composto secondo una sintassi ben precisa di blocchi formattati come quello che segue:
msgid "Welcome"
msgstr "Benvenuto nel sito"
Dove:
- msgid corrisponde alla parola che dovrà essere sostituita;
- msgstr corrisponde alla frase che verrà stampata al posto della parola specificata in msgid.
Spesso capita che i blocchi siano corredata da commenti che indicano i file interessati dalla traduzione e la linea di codice in cui è rinvenibile il msgid. Ad esempio:
# ../welcome.php:123
# ../homepage.php:456
msgid "Welcome"
msgstr "Benvenuto nel sito"
In linea di principio i file .po possono essere creati e modificati con semplici editor di testo… tuttavia l’utilizzo di tool appositi si rende necessario per la generazione del file .mo…
La traduzione del core di WordPress
Per avere WordPress in italiano non è necessario crearsi da soli la traduzione. La community di WordPress, infatti, distribuisce il software completo della traduzione per numerose lingue, tra cui l’italiano.
I file di internazzionalizzazione del core di WordPress sono presenti in:
/wp-content/languages/
La localizzazione da utilizzare è poi specificata nel file wp-config.php alla costante WPLANG:
define('WPLANG', 'it_IT');
La localizzazione definita per WordPress avrà effetto anche su temi e plugin a condizione, ovviamente, che sia presente la localizzazione in italiano.
Utilizzare POEdit per tradurre temi e plugin
Lo stesso meccanismo previsto per il core di WordPress è utilizzabile per gestire le traduzioni di plugin e temi, a condizione che questi siano stati creati rispettando questo meccanismo di divisione tra codice e output testuale.
Se abbiamo scaricato un tema o un plugin e lo vogliamo tradurre, quindi, andiamo a vedere se all’interno del pacchetto è presente una cartella lang, languages o qualcosa del genere. In caso affermativo diamo una sbirciata al contenuto della cartella contenente i file di localizzazione. Probabilmente troveremo al suo interno dei fie del tipo: nomeplugin-en_EN.po/.mo
Per creare la nostra localizzazione in italiano avremo bisogno di scaricare un software apposito per l’editing dei file .po e la successiva compilazione dei file .mo. Tra gli editor di questo tipo, il più conosciuto ed utilizzato è certamente POEdit, un software open-source disponibile sia per OS Windows, Linux che Mac.
Per prima cosa, quindi, andiamo sul sito POEdit.net e scarichiamo la versione del software adatta al nostro OS. Una volta concluso il download e l’installazione apriamo l’editor e selezioniamo Crea una nuova traduzione oppure, più semplicemente, Apri.
Per iniziare la nostra traduzione dobbiamo partire da un file .po già presente nella cartella dei file di localizzazione del tema o plugin che vogliamo utilizzare. Selezioniamo, ad esempio, nomeplugin-en_EN.po oppure default.po.
Ci troveremo di fronte ad un elenco, più o meno lungo, di frasi. Cliccando su una di queste avremo la possibilità di inserirne la traduzione nell’apposita area (in basso). Una volta terminato il lavoro clicchiamo su "Salva con nome…". Salvando ricordiamoci di dare alla nostra localizzazione un nome conforme alla sintassi utilizzata dal tema o plugin, ad esempio:
nomeplugin-it_IT.po
POEdit provvederà in automatico alla compilazione del relativo file. mo. Ovviamente è importante salvare i file .po/.mo nella stessa cartella dove si trovano gli altri file di localizzazione del tema o del plugin.