Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🚀 Traduzione in blocco di file .po in Lokalise tramite console del browser

🚀 Traduzione in blocco di file .po in Lokalise tramite console del browser

Quando un tema o un plugin WordPress viene distribuito senza traduzione in italiano e il file .po contiene mille o più stringhe, tradurle manualmente una per una con Poedit diventa una maratona di giorni. Per molti clienti, la traduzione automatica è perfettamente accettabile: Google Translate produce risultati decenti per le stringhe dell'interfaccia, e solo un paio di dozzine di punti richiedono una rifinitura manuale.

Il problema è che Lokalise, una potente piattaforma di gestione delle traduzioni, non offre un pulsante «traduci tutto in una volta» di default. Devi cliccare il pulsante di traduzione automatica di Google Translate separatamente per ogni singola stringa. È proprio questo limite che aggireremo: un piccolo script eseguito nella console del browser simula il clic su quel pulsante per l'intero elenco di stringhe. Il metodo è stato testato su progetti che vanno da 200 a oltre 3000 stringhe.

💡 Panoramica rapida:

  • Prepara un file PO da un template POT in Poedit usando traduzioni segnaposto in inglese.
  • Crea un progetto in Lokalise, carica il file sorgente e aggiungi una lingua di destinazione.
  • Copia le chiavi nella lingua di destinazione ed esegui lo script nella console del browser.
  • Tieni conto del caricamento lazy AJAX: esegui lo script tante volte quante sono le nuove serie di stringhe caricate da Lokalise.

Cos'è Lokalise e perché usarlo per tradurre file.po

Lokalise è un Translation Management System (TMS) che supporta nativamente i file .po/.pot. La piattaforma si integra con Google Translate, DeepL e il proprio motore AI, permettendoti di ottenere una traduzione automatica per qualsiasi stringa con un solo clic. Il problema è che un clic per progetto non basta: devi premere il pulsante di traduzione automatica per ogni stringa individualmente.

Per file piccoli da 50 a 100 stringhe, questo è tollerabile. Ma un .pot reale di un plugin o tema raramente contiene meno di 500 stringhe, e prodotti grandi (WooCommerce, temi con page builder) superano facilmente le 2000. Lo script jQuery in questo articolo è stato scritto proprio per questi casi: «clicca» il pulsante di traduzione per ogni stringa attualmente visibile sullo schermo.

Passo 1: creare un file.po da un.pot in Poedit

Prima di lavorare con Lokalise ti serve un file .po in inglese generato da un template .pot. Scarica e installa Poedit, un editor di traduzioni gratuito per Windows, macOS e Linux.

Apri il file .pot del tema o plugin in Poedit e clicca il pulsante «Crea nuova traduzione»:

Pulsante Crea nuova traduzione nell'applicazione Poedit

Nella finestra di dialogo che si apre, seleziona l'inglese; diventerà la lingua sorgente per Lokalise:

Selezione dell'inglese come lingua di traduzione nella finestra di dialogo di Poedit

Clicca «Salva con nome» e salva il file con estensione .po. Il contenuto effettivo delle stringhe in questa fase non ha importanza; non tradurremo nulla in Poedit e tutte le stringhe rimarranno in inglese come segnaposto.

Salvataggio di un file PO tramite il pulsante Salva con nome in Poedit

Ora hai un file .po con le stringhe originali in inglese. Passiamo a Lokalise.

Passo 2: creare un progetto di traduzione in Lokalise

Registrati su lokalise.com; il periodo di prova gratuito è sufficiente per una traduzione una tantum. Dopo aver effettuato l'accesso, clicca «Aggiungi un progetto» al centro dello schermo:

Pulsante Aggiungi progetto nella schermata iniziale di Lokalise

Compila i campi: nome del progetto (quello che preferisci, ad esempio «Traduzione Tema X») e seleziona Inglese come lingua base. Lokalise la userà come sorgente per la traduzione automatica verso altre lingue. Clicca «Crea».

Modulo Nuovo progetto in Lokalise con selezione della lingua di partenza

Passo 3: caricare il file.po preparato

Nel progetto appena creato, clicca il pulsante verde con una freccia verso l'alto per caricare un file:

Pulsante verde di caricamento file in un progetto Lokalise

Apparirà una finestra di dialogo di caricamento. Trascina e rilascia il file .po al suo interno, oppure clicca sull'area per selezionare un file tramite Esplora risorse:

Finestra di dialogo per il caricamento di file PO con supporto drag-and-drop nell'interfaccia di Lokalise

Fondamentale: imposta la lingua del file su Inglese. Se la lingua del file non corrisponde alla lingua base del progetto, il pulsante di traduzione automatica di Google Translate non comparirà perché la piattaforma non riesce a determinare la lingua di partenza.

Clicca su «Importa i file»:

Pulsante Importa file con lingua inglese selezionata prima dell'importazione

Al termine dell'importazione, clicca su «Vai al progetto» per accedere all'area di lavoro con l'elenco delle stringhe.

Step 4: aggiungi la lingua di destinazione

Clicca l'icona con il segno più nel pannello delle lingue per aggiungere la lingua verso cui vuoi tradurre:

Pulsante per aggiungere una nuova lingua di traduzione in un progetto Lokalise

Seleziona la lingua dal menu a tendina. Per il russo, scegli Russian:

Selezione del russo dall'elenco a discesa in Lokalise

Step 5: copia le chiavi nella lingua di destinazione

Al momento hai una colonna di stringhe in inglese, ma la colonna del russo è vuota. Devi copiare lì le chiavi (le stringhe originali); la traduzione automatica verrà applicata su di esse.

Seleziona tutte le stringhe (Ctrl+A), clicca il pulsante delle azioni che compare e scegli «Copia le chiavi nelle traduzioni…». Nella finestra di dialogo, seleziona Russian e clicca «Copia»:

Finestra di dialogo per copiare le chiavi di traduzione in russo con russo selezionato

La colonna del russo ora contiene le stringhe segnaposto in inglese che possono ricevere la traduzione automatica.

Step 6: traduzione automatica di massa tramite la console del browser

Apri la console sviluppatore: Ctrl+Shift+I (Windows/Linux) o Cmd+Option+I (macOS). Qui sotto trovi il pulsante che il nostro script simula nel clic. Nell'interfaccia attuale di Lokalise ha l'aspetto di un'icona di Google:

Pulsante aggiornato di traduzione automatica Google nell'interfaccia di Lokalise

Ecco lo script che «clicca» questo pulsante per tutte le stringhe visibili:

1/* Bulk Google Translate auto-translation in Lokalise */
2jQuery(document).ready(function ($) {
3 $('span.key-function-button.machine-all.fontello-google-circle').trigger('click');
4});

Copia il codice, incollalo nella console e premi Invio. Le stringhe inizieranno a essere tradotte una dopo l'altra.

Nota importante: Lokalise utilizza il caricamento lazy-loading via AJAX e mostra le stringhe in lotti. Dopo che lo script ha elaborato le stringhe visibili, scorri la pagina verso il basso per caricare quelle nuove, ancora non tradotte. Incolla di nuovo lo script nella console e premi Invio. Ripeti finché tutte le stringhe non sono state tradotte.

Per la versione precedente dell'interfaccia (se il pulsante di traduzione automatica ha un aspetto diverso), usa questa variante:

Vecchia versione del pulsante di traduzione automatica Google nell'interfaccia di Lokalise
1/* Simulated click on the Google translate button (old interface) */
2jQuery(document).ready(function ($) {
3 $('a.key-function-button.machine-all').trigger('click');
4});

Una volta tradotte tutte le stringhe, assicurati di scorrere il progetto fino in fondo e verifica visivamente che ogni stringa nella colonna delle traduzioni sia compilata. Le stringhe mancanti o non sono state caricate (scorri di nuovo) oppure la traduzione automatica non ha funzionato per loro (clicca il pulsante manualmente).

Risultato della traduzione in blocco delle stringhe in un progetto Lokalise tramite la console del browser

La traduzione completata può essere scaricata tramite il pulsante Download nell'interfaccia del progetto. Riceverai un file .po pronto per essere caricato su WordPress.

Di seguito un breve video che mostra il flusso di lavoro completo con i file .po in Lokalise, dal caricamento all'esportazione:

⁉️🤔 Domande frequenti

Lo script non traduce le stringhe. Cosa c'è che non va?

Per prima cosa, verifica che la lingua del file sorgente durante l'import corrisponda alla lingua base del progetto. Se il progetto è impostato su inglese ma il file è stato caricato come russo, il pulsante Google Translate non comparirà. Secondo, apri la console (F12) e controlla la presenza di errori. Se jQuery risulta indefinito, Lokalise ha modificato la sua struttura e i selettori nello script vanno aggiornati. Terzo, assicurati di aver copiato le chiavi nella lingua di destinazione (passaggio 5); altrimenti non c'è nulla da tradurre.

Posso tradurre usando DeepL invece di Google Translate?

Sì, se DeepL è abilitato nel tuo progetto. Il principio è lo stesso: il pulsante di traduzione automatica cambia, ma puoi adattare lo script a un selettore CSS diverso. Individua l'elemento del pulsante DeepL tramite l'inspector (Ctrl+Shift+C), copia la sua classe o attributo e inseriscilo nel selettore $('button-selector').trigger('click').

Quante stringhe vengono tradotte in una singola esecuzione dello script?

Esattamente quante sono quelle attualmente visualizzate a schermo. Lokalise carica le stringhe in lotti (tipicamente da 50 a 100), quindi dopo ogni scorrimento devi eseguire di nuovo lo script. Su un progetto con 2000 stringhe, aspettati dalle 5 alle 7 esecuzioni.

È sicuro incollare codice nella console sul sito di qualcun altro?

Lo script fa esattamente una cosa: clicca a livello di codice un pulsante che altrimenti cliccheresti manualmente. Nessun dato viene inviato da nessuna parte; il codice viene eseguito solo all'interno del tuo browser e solo sulla pagina aperta di Lokalise. Detto questo, una buona regola pratica è leggere sempre il codice prima di incollarlo nella console, specialmente se non proviene dalla documentazione ufficiale.

Cosa succede se alcune stringhe restano in inglese dopo la traduzione?

Molto probabilmente non hai fatto scorrere la pagina fino in fondo e hai perso uno dei caricamenti AJAX. Scorri il progetto fino alla fine, attendi che tutti i lotti di stringhe siano completamente caricati ed esegui di nuovo lo script. Se singole stringhe non vengono ancora tradotte, clicca manualmente il pulsante di traduzione automatica per quelle specifiche (può succedere se l'API di Google Translate ha restituito un errore per una frase specifica).

Quando la traduzione da console batte l'automazione integrata

Il metodo da console non sostituisce un flusso di lavoro TMS completo. Se fai localizzazione a livello professionale, Lokalise offre l'elaborazione batch integrata (pre-traduzione), integrazioni con strumenti CAT e traduzione AI sensibile al contesto. Ma per il tipico compito di tradurre un singolo tema WordPress e passare oltre, l'approccio da console produce risultati in 5-10 minuti senza dover approfondire la documentazione della piattaforma.

L'intero processo, dall'installazione di Poedit al file .po finale, si articola in tre passaggi: preparare il file, caricarlo su Lokalise, eseguire lo script. Se il volume supera le 500 stringhe, il tempo risparmiato rispetto al cliccare manualmente il pulsante per ogni stringa ammonta a decine di minuti. Con oltre 2000 stringhe, è la differenza tra "fatto in un caffè" e "ci ho messo mezza giornata".