Come localizzare e tradurre un plugin per WordPress: una guida approfondita per gli sviluppatori di plugin
Pubblicato: 2020-01-20Quando si sviluppa un plug-in, è sempre una buona idea prepararlo per la traduzione in quanto potrebbe raggiungere anche un pubblico che non usa l'inglese come prima lingua. Se ti stavi chiedendo quanto sia importante un'opzione di traduzione, puoi controllare il repository e vedere che ogni singolo plugin popolare è disponibile per la localizzazione della lingua. Scoprirai che questa opzione è disponibile con UpdraftPlus, MetaSlider, WP-Optimize, Contact Form 7 e WooCommerce, così come molti altri. Questi sono alcuni dei plugin più popolari disponibili e sono codificati in modo da consentire a chiunque di tradurli facilmente nella propria lingua madre.
Lo scopo di questo blog è dimostrare ai nostri lettori come possono codificare un plug-in in modo che venga localizzato e tradotto in qualsiasi lingua WordPress supportata. Ad esempio, se volessimo tradurre un plug-in in francese, i seguenti passaggi consentiranno la traduzione del plug-in e lo renderanno anche pronto per tutte le lingue WordPress supportate.
Iniziare
Quando creiamo un plugin, dobbiamo assicurarci di caricare il dominio di testo del plugin. WordPress fornisce questa funzione:
load_plugin_textdomain()
Questo codice caricherà le stringhe tradotte del plugin. Può sembrare un po' confuso, ma continua a leggere e ti spiegheremo come funziona a breve.
Per prima cosa, diamo un'occhiata a come aggiungere questa funzione al nostro codice del plugin. Nella cartella dei plug-in, crea una directory chiamata "lingue". Quindi, aggiungi il codice seguente al file principale del tuo plug-in.
* Load plugin textdomain. */ function plugin_load_textdomain() { load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' ); } add_action( 'init', 'plugin_load_textdomain' );
Nel codice sopra, manteniamo il primo parametro (dominio) come 'udp'. Dovremmo mantenere questo nome di dominio secondo il nostro nome del plugin. Per impostazione predefinita, il secondo parametro è false. Il terzo parametro è il percorso della nostra directory "lingue". Questo codice mantiene i nostri file di traduzione pronti per l'inizializzazione di WordPress.
Uso dei metodi __() e _e()
Poiché miriamo a rendere il nostro plug-in disponibile in tutte le lingue, dovremmo racchiudere tutto il testo del nostro plug-in all'interno di:
Funzioni __()
o _e()
.
È molto facile usare questi metodi. Entrambi i metodi funzionano esattamente allo stesso modo, ma esiste una regola per l'utilizzo di entrambi.
Nel nostro codice del plugin, normalmente abbiamo due tipi di testo. Il primo è racchiuso direttamente in HTML e il secondo viene visualizzato utilizzando la funzione PHP echo. Di seguito sono riportati esempi di entrambi i tipi:
Tipo 1
<h2>My Plugin Title</h2>
Digitare 2
<?php echo 'Le mie impostazioni plugin'; ?>
La regola generale è che se stai stampando del testo usando PHP echo, dovresti avvolgere il testo nel seguente codice:
<code>__()</code>
Se è in HTML, usa il codice: <code>_e()</code>.
Il codice sopra dovrebbe essere scritto nel modo seguente:
<h2><?php _e('Il mio titolo del plugin', 'udp'); ?></h2>
e
<?php echo __('Impostazioni plugin', 'udp'); ?>
Come si può vedere negli esempi precedenti, il secondo parametro è stato scritto come 'udp', che è il nostro dominio di testo del plugin. L'utilizzo di questo dominio ci consentirà di tradurre in seguito il nostro testo in qualsiasi lingua. Questo è il modo in cui altri plugin preparano la traduzione dei loro plugin.
Se lo desideri, puoi controllare il nostro plugin:
Updraft Plus
Se cerchi il dominio di testo 'updraftplus', vedrai come il testo del nostro plugin è racchiuso all'interno delle funzioni __()
e _e()
.
Crea un plugin di esempio
La fase successiva consiste nel creare un plug-in di esempio con del testo in modo da poter testare le nostre traduzioni. Innanzitutto, crea una cartella 'udp' nella directory dei plugin. All'interno di questa cartella creare il file: udp.php
e la cartella languages
. Quindi, aggiungi il codice seguente al file del plug-in.
udp.php
<?php /* Nome del plug-in: UDP Descrizione: questo è un plug-in di esempio per testare il dominio di testo del plug-in Autore: Redazione Versione: 1.0 Licenza: GPLv3 o successiva Dominio di testo: udp Percorso del dominio: /lingue */ if (!defined('ABSPATH')) die('Nessun accesso diretto consentito');/** * Carica il dominio di testo del plugin. */ funzione udp_load_textdomain() { load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/'); } add_action('init', 'udp_load_textdomain'); funzione udp_menu_page() { add_menu_page( __( 'Pagina impostazioni UDP', 'udp' ), __( 'Pagina impostazioni UDP', 'udp' ), 'gestire_opzioni', 'udp_setting_page', 'udp_setting_page', '', 6 ); } add_action('admin_menu', 'udp_menu_page'); funzione udp_setting_page() { ?> <h2><?php _e('Il mio titolo del plugin', 'udp'); ?></h2> <?php }
Crea i file di traduzione
Per generare i nostri file di traduzione, utilizzeremo il seguente software di editor di traduzione:

POEDIT
I file di traduzione (.po e .mo) contengono la stringa da tradurre e la stringa tradotta. Durante la creazione del file .po è necessario salvarlo nel formato '{domain}-language code'. In questo esempio, il file sarà udp-fr_FR.po .
Quindi, installa il software POEDIT sul tuo sistema. Questo software è disponibile per tutte le piattaforme e può essere installato su Windows, Linux o Mac.
Una volta installato, apri POEDIT e vai su File->Nuovo , dove inseriremo il nostro codice lingua nel prompt della finestra.
Fare clic sull'icona "Salva", dopodiché si aprirà Esplora file. Vai alla directory delle lingue dei plugin e salvala come segue: udp-fr_FR.po .
Ora siamo in grado di aggiungere la traduzione francese per il testo del nostro plugin. Per farlo, clicca sulla sezione "Estrai da fonti".
Si aprirà un popup delle proprietà del catalogo. Ora dobbiamo configurare le tre seguenti schede: Proprietà di traduzione, Percorsi di origine e Parole chiave di origine. Nella scheda Proprietà di traduzione, aggiungi il nostro dominio 'udp' come nome del progetto. I percorsi di origine saranno la nostra cartella dei plug-in e aggiungeremo '__ e _e' all'interno delle parole chiave di origine.
Se hai più cartelle all'interno del plug-in, dovremo scegliere ciascuna directory individualmente.
Dopo aver selezionato la cartella del plugin dovresti vedere '.' nella sezione Percorsi. Ripetere la stessa procedura per altre cartelle all'interno della directory del plug-in, se necessario.
Sotto le Parole chiave di origine, fai clic sull'icona + e aggiungi '__' e '_e' come parola chiave e fai clic sul pulsante OK.
Nella finestra successiva, sotto Testo sorgente, avrai tutte le stringhe disponibili per la traduzione dal tuo plugin. Scegli la stringa una per una e aggiungi la tua traduzione francese alla stringa.
Dopo aver aggiunto tutte le traduzioni, fare clic sull'icona Salva. Questo salverà automaticamente tutta la tua traduzione di stringhe nel tuo file udp-ft_FR.po
. Il tuo file .po conterrà ora il seguente codice:
#: udp.php:24 udp.php:25 msgstr "Pagina delle impostazioni UDP" msgstr "Pagina di configurazione UDP" #: udp.php:37 msgstr "Il mio titolo del plugin" msgstr "Titre de mon plugin"
Prova la nostra traduzione di plugin
Abbiamo ora completato l'attività di creazione dei file .po e .mo per il nostro plugin. Ora è il momento di testare il nostro plugin e controllare la traduzione in francese.
Innanzitutto, scarica il nostro file di lingua dal seguente indirizzo:
Repository delle lingue di WordPress.
Per la lingua francese, il percorso è il seguente:
Repository della lingua francese di WordPress.fr_FR.mo
e fr_FR.po
Scarica i file da questo link e salvali nella directory wp-content/languages . Crea la cartella 'lingue', se non esiste già.
Successivamente, dobbiamo cambiare la lingua predefinita della nostra installazione di WordPress. Apri il file wp-config.php
e aggiungi la lingua come segue:
define('WPLANG', 'fr_FR');
Ora, se vai alla dashboard, il tuo plug-in dovrebbe essere visualizzato in lingua francese.
Insomma
Creare una traduzione localizzata per il tuo plugin WordPress può sembrare un po' scoraggiante e complicato all'inizio. Tuttavia, i potenziali vantaggi di offrire a grandi paesi non anglofoni come Brasile, Francia e Germania il tuo plug-in nella loro lingua madre possono aiutarti ad aprire il tuo plug-in a un pubblico completamente nuovo e apprezzato. Anche se può sembrare un sacco di lavoro, le ricompense potrebbero essere considerevoli.
Il post Come localizzare e tradurre un plugin per WordPress – una guida approfondita per gli sviluppatori di plugin è apparso per la prima volta su UpdraftPlus. UpdraftPlus – Plugin di backup, ripristino e migrazione per WordPress.