Traduci gli articoli del tuo blog in altre lingue con Yandex

Eseguire traduzioni dei propri articoli su WordPress utilizzando le API di Yandex

Prima di cominciare con qualsiasi spiegazione ci tengo a chiarire dei concetti che sono molto importanti.

In primis, la traduzione di un sito è un lavoro serio e non va sottovalutato, noi stiamo per presentare un modo per avere una traduzione immediata di ogni articolo, qualsiasi sia la sua lunghezza, in maniera automatica, ma prendete la procedura con le pinze in quanto una traduzione fatta da un sistema automatico non è praticamente mai affidabile. Se gestite blog importanti e non conoscete perfettamente la lingua in cui intendete tradurlo, affidatevi ad un traduttore di professione.

La bozza di codice che stiamo per proporvi è scritto in maniera spartana, rude e medioevale. Purtroppo a causa di impegni lavorativi e poco tempo per curare questo progetto siamo stati costretti a creare uno script rozzo, che però funziona. Nulla toglie che voi possiate migliorarlo per i vostri progetti, o che arrivi (forse) in futuro una versione di codice ingegneristicamente “più corretta”.

Fatte queste precisazioni, continuiamo.

Abbiamo, qualche giorno fa, pubblicato un articolo che mostrava come utilizzare le API di Yandex per la traduzione di un testo, utilizzando del semplice codice PHP. Ho quindi pensato: Perché non tradurre un intero articolo di WordPress? Ultimamente sto studiando inglese, mi sto divertendo giocando con Duolingo, ed ho deciso di intraprendere la strada di rendere questo sito bilingue, quindi ho pensato ad un sistema per ottenere una traduzione istantanea di qualsiasi articolo io volessi tradurre, in modo da poterla correggere rapidamente e poi pubblicarlo.

Le API di Yandex potranno anche tradurre da cani, ma avere a portata di mano un articolo già tradotto da correggere è sicuramente più pratico e veloce che avere un articolo da tradurre da zero, soprattutto se stiamo parlando di contenuti molto lunghi.

Il repository con il codice si chiama translate-wordpress-post-with-yandex e lo trovate su GitHub, e in pratica è uno script, suddiviso in 3 file scritti in PHP. Legge il contenuto di un articolo scritto con i blocchi di Gutemberg (e il titolo) dal database della nostra installazione di WordPress, e lo traduce riportando le stesse immagini e rispettando titoli, sottotitoli ed elenchi puntati e numerati.

Come configurare lo script

Dopo aver copiato i file execute.php, functions.php e translate.php dal repository, e averli incollati nella stessa cartella del nostro sito, dobbiamo configurare il file functions.php con queste linee guida

  • riga 83, inserire l’host del database dell’installazione di WordPress
  • riga 84, inserire il del database dell’installazione di WordPress
  • riga 85, inserire l’user di accesso al database dell’installazione di WordPress
  • riga 86, inserire la password di accesso al database dell’installazione di WordPress

Successivamente, dopo aver recuperato un token per l’utilizzo delle API di Yandex (abbiamo spiegato qui come fare), aprire il file translate.php e rispettare queste linee guida

  • riga 5, inserire la chiave di accesso per le API

Infine, aprire il file execute.php e, alla riga 10, modificare il nome della tabella dei posts del nostro database. Se avete tenuto come prefisso wp_ in fase di installazione di wordpress, la tabella si chiamerà sicuramente wp_posts. Io come prefisso ho configurato blog_, motivo per cui ho dovuto eseguire la query sulla tabella blog_posts.

Come utilizzare lo script

Per utilizzare lo script è necessario recuperare l’id dell’articolo che vogliamo tradurre, dopodiché richiamare il file utilizzando la sintassi

posizione/execute.php?idpost=ID_ARTICOLO_CHE_VOGLIAMO_TRADURRE

Lo script ci mostrerà (sempre in maniera spartana, per essere coerenti) la traduzione di tutto l’articolo in base allo schema a blocchi di Gutemberg. Basterà a questo punto copiare il codice visualizzato, e incollarlo in un nuovo articolo wordpress con l’impostazione Editor del codice abilitata.

Lo script non è perfetto

C’è da precisarlo, più volte e più volte. Esso è fatto per ottenere una traduzione grossolana da andare poi a correggere. Esso non riporta la formattazione del testo (grassetto o corsivo), non riporta i link, non traduce i blocchi codici o preformattati, e trasforma tutti gli elenchi (numerati o non) multilivello in elenchi ad un solo livello.

Controlliamo ciclicamente il funzionamento dei link nei nostri articoli. Se noti dei link che non funzionano segnalacelo tra i commenti. Se hai apprezzato l'articolo considera l'idea di sostenere il blog anche con una piccola donazione. Grazie. Patreon / Ko-fi / Liberapay / Paypal

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *