Ricerca di traduzioni mancanti nel tuo plugin o tema WordPress

Se alcune parti del tuo plugin o tema appaiono non tradotte dopo aver utilizzato PTC, usa questa guida per verificare se la stringa fa parte del tuo progetto e se WordPress sta caricando il file corretto.

Verifica se la stringa è disponibile in PTC

Dalla dashboard di PTC, vai alla scheda Traduzioni e cerca la stringa originale. Se non la vedi, PTC non l’ha ricevuta. Questo di solito significa una delle seguenti cose:

  • La stringa manca dal tuo file POT

Se il tuo POT non include tutte le stringhe traducibili, ricrealo usando WP-CLI. Poi, segui i passaggi nella nostra guida all’internazionalizzazione di temi e plugin WordPress dall’inizio.

  • Il testo non è racchiuso in una funzione GetText

Assicurati che tutto il testo traducibile sia racchiuso in __() o _e() e utilizzi il dominio di testo corretto.

Esempio:

__('Hello, world!', 'your-plugin');

Per maggiori dettagli, consulta il Passaggio 2 della nostra guida alla traduzione di temi e plugin WordPress.

  • Le stringhe JavaScript non sono state contrassegnate come traducibili

Se il tuo plugin include testo traducibile in JavaScript:

  1. Vai su PTC → Impostazioni e clicca su File monitorati. Modifica il file di risorse pertinente e abilita “Questo è un progetto WordPress con JavaScript localizzabile?”
Indicare a PTC che il tuo prodotto include testo traducibile in Javascript

Questo indica a PTC di scansionare i file JavaScript alla ricerca di stringhe traducibili. Rigenererà le traduzioni e creerà una nuova merge request con i file aggiornati.

  1. Assicurati che WordPress sappia dove caricare i file di traduzione .json creati da PTC.

Se i file .json sono posizionati all’interno della directory /languages/ del tuo plugin o tema, chiama wp_set_script_translations() con il percorso corretto.

Per i plugin:

wp_set_script_translations( 'script-handle', 'text-domain', plugin_dir_path( __FILE__ ) . 'languages' );

Per i temi:

wp_set_script_translations( 'script-handle', 'text-domain', get_template_directory() . '/languages' );

Questo indica esplicitamente a WordPress di caricare i file .json dalla cartella del tuo plugin o tema.

Conferma che WordPress stia caricando i tuoi file di traduzione

Se la tua stringa tradotta appare in PTC ma non compare nel tuo plugin o tema, WordPress potrebbe non caricare il file .mo corretto.

  1. Verifica che il tuo dominio di testo sia caricato

Se il tuo progetto usa più domini di testo o plugin incorporati, assicurati che ognuno sia caricato correttamente usando load_plugin_textdomain() o load_theme_textdomain().

Ogni dominio di testo dovrebbe corrispondere a quello usato nei nomi dei tuoi file di traduzione e nella tua esportazione PTC.

  1. Prevent Community Translations from Overriding Your MO Files

Per impostazione predefinita, WordPress dà priorità ai file di traduzione archiviati in /wp-content/languages/.
Se il tuo plugin o tema ha traduzioni fornite dalla community su WordPress.org, quei file possono sovrascrivere i file .mo inclusi nel tuo progetto.

Per evitare che ciò accada, aggiungi un piccolo snippet che indica a WordPress di usare i tuoi file di traduzione.

Assicurati che la denominazione dei file MO corrisponda alle aspettative di WordPress

WordPress si aspetta diverse convenzioni di denominazione per i file .mo a seconda di dove li memorizzi.

  • Se i tuoi file di traduzione si trovano all’interno della cartella del tema, usa:

{locale}.mo
Esempio
: de_DE.mo (abbinato a de_DE.po)

  • Se hai posizionato i file nella directory globale della lingua di WordPress (wp-content/languages/themes/), usa:

{text-domain}-{locale}.mo
Esempio
: my-theme-de_DE.mo (abbinato a my-theme-de_DE.po)

Scorri verso l'alto