RisorsePerché le Tue Traduzioni Non Appaiono in WordPress (Guida alla Risoluzione dei Problemi)

Perché le Tue Traduzioni Non Appaiono in WordPress (Guida alla Risoluzione dei Problemi)

Team SimplePoTranslate5 dicembre 2025

Non c'è niente di più frustrante nello sviluppo di WordPress del "Fallimento Silenzioso".

Hai fatto tutto bene. Hai tradotto il file .po. Lo hai compilato in un file .mo. Lo hai caricato sul tuo server via FTP. Hai svuotato la cache.

Aggiorni la pagina, aspettandoti di vedere spagnolo, francese o tedesco. Invece, vedi... inglese.

Nessun messaggio di errore, nessuna schermata bianca—solo testo ostinato e non tradotto. Prima di strapparti i capelli, leggi questa guida. Ecco i 5 motivi più comuni per cui le traduzioni non si caricano in WordPress e come risolverli.

1. Stai Nominando il File nel Modo Sbagliato

WordPress è incredibilmente severo sulla denominazione dei file. Se manchi un carattere, non caricherà il file.

Il formato standard è: {dominio-testo}-{locale}.mo

  • Il Dominio di Testo (Text Domain): Questo è l'ID univoco del tema o del plugin (es. woocommerce, twentytwentyfour, my-custom-plugin).
  • Il Locale: Il codice locale WP (es. es_ES per spagnolo di Spagna, fr_FR per francese).

Errori Comuni:

  • Nominare il file solo es_ES.mo (Questo funziona solo per i file globali del core di WordPress, non per i plugin).
  • Usare il trattino sbagliato: my_plugin_es_ES.mo (Trattino basso) invece di my-plugin-es_ES.mo (Trattino).
  • Indovinare il dominio di testo. Devi controllare il codice del plugin (intestazione style.css o funzione load_plugin_textdomain) per trovare lo slug esatto.

2. Hai Messo il File nella Cartella Sbagliata

Dove carichi il file conta tanto quanto come lo chiami. WordPress cerca in directory specifiche in un ordine specifico.

  • La Cartella di Sistema "Sicura": /wp-content/languages/plugins/ o /wp-content/languages/themes/.
    • Pro: È al sicuro dagli aggiornamenti dei plugin.
    • Contro: Devi nominare il file textdomain-locale.mo.
  • La Cartella dell'Autore: /wp-content/plugins/plugin-name/languages/.
    • Pro: Facile da trovare.
    • Contro: PERICOLO. Quando aggiorni il plugin, questa cartella viene cancellata. Le tue traduzioni svaniranno.

Miglior Pratica: Metti sempre i tuoi file .mo personalizzati nella directory globale /wp-content/languages/ per prevenire la perdita di dati durante gli aggiornamenti.

3. Il "Killer Silenzioso": Sintassi Corrotta nel File .po

Questo è il problema più difficile da debuggare, e succede frequentemente con strumenti di traduzione AI generici.

WordPress legge file binari .mo, che sono compilati da file di testo .po. Se il tuo file .po contiene errori di sintassi, il file .mo potrebbe essere generato, ma sarà "rotto" internamente.

Come succede questo? Se un traduttore (umano o AI) rovina la formattazione Gettext, la stringa diventa non valida.

  • Esempio: Manca una virgoletta di chiusura ".
  • Esempio: Rompere una variabile (cambiare %s in % s).
  • Esempio: Rovinare il conteggio msgid_plural.

Quando WordPress incontra una voce rotta nel file .mo, spesso la salta o smette completamente di leggere il file, tornando all'inglese originale.

4. Hai Dimenticato di Compilare (.po vs .mo)

WordPress non può leggere direttamente i file .po. È un malinteso comune.

  • .po = Leggibile dagli umani (Portable Object).
  • .mo = Leggibile dalle macchine (Machine Object).

Se carichi un file my-theme-es_ES.po ma dimentichi di generare il file .mo corrispondente, non succederà nulla. Devi compilarlo.

5. Caching (Il Solito Sospetto)

Se stai usando plugin di caching (WP Rocket, LiteSpeed) o caching lato server (Varnish, Redis), il tuo sito potrebbe servire una versione HTML in cache di prima che tu caricassi la traduzione.

Soluzione: svuota tutte le cache, inclusa la cache del tuo browser e la cache degli oggetti.

La Soluzione Definitiva: File Validi fin dall'Inizio

Risolvere problemi di percorsi e nomi di file è facile. Risolvere sintassi corrotta (Motivo #3) è un incubo.

Se usi uno strumento che rompe le tue variabili di codice o corrompe la struttura Gettext, passerai ore a chiederti perché il file non funziona, senza renderti conto che il file stesso è "avvelenato".

Ecco perché abbiamo costruito SimplePoTranslate.

  • Blocco della Sintassi: Ci assicuriamo che ogni singola stringa sia sintatticamente valida prima che tu la scarichi. Blocchiamo variabili come %s in modo che non possano essere rotte.
  • Formattazione Perfetta: Generiamo file .po puliti e standard che si compilano in file .mo funzionanti al 100%.
  • Nessun Plugin Richiesto: Scarichi il file, e sai che funziona. Devi solo caricarlo nella cartella giusta.

Smetti di indovinare perché le tue traduzioni sono invisibili. Inizia con un file di cui ti puoi fidare.

Pronto a tradurre senza mal di testa? Inizia gratis su SimplePoTranslate.com

Argomenti Correlati