Come tradurre Gravity Forms in WordPress: campi, notifiche, conferme, logica condizionale
Scopri come tradurre ogni parte di un modulo Gravity Forms sul tuo sito WordPress in tutte le lingue parlate dai tuoi visitatori. Questa guida copre le etichette dei campi, i campi di prezzo (Pricing Fields), le opzioni dei menu a discesa, i messaggi di convalida dei singoli campi, le conferme, le notifiche con instradamento, la logica condizionale e gli add-on di integrazione che assorbono gli invii. Ti guida attraverso il flusso di lavoro di Gravity Forms con WPML e l’add-on GFML.
Prima di iniziare
Installa e attiva questi plugin:
- Gravity Forms.
- WPML e WPML Traduzione stringhe.
- GFML – Gravity Forms Multilingual (l’add-on trattato in questa pagina).
Crea il modulo in Gravity Forms nella lingua di origine del tuo sito. Aggiungi tutti i campi che desideri (campi di prezzo, struttura impaginata, logica condizionale, notifiche e conferme) prima di inviare il modulo per la traduzione. Puoi sempre modificare il modulo in seguito e ritradurre le differenze.
Traduci tutto automaticamente se ne occupa per te
Se il tuo sito ha attivato Traduci tutto automaticamente, non hai bisogno di inviare il modulo per la traduzione manualmente. WPML rileva i moduli nuovi e aggiornati insieme al resto dei tuoi contenuti e li traduce in background. Il passaggio di inserimento nella pagina descritto di seguito si applica comunque, ma il passaggio di invio del modulo per la traduzione è automatico. Il resto di questa pagina descrive il percorso manuale per i siti che utilizzano Traduci in parte: scegli tu cosa tradurre (o per i moduli che vuoi tradurre prima della coda automatica).
Invia il modulo per la traduzione
- Apri WPML > Traduzioni > Bacheca.
- Espandi la sezione Gravity Forms.
- Spunta il modulo che vuoi tradurre.
- Scegli un metodo di traduzione: PTC (consigliato), il tuo traduttore o Traduco io.
- Fai clic su Traduci.
Il modulo, i suoi campi, le opzioni, le notifiche, le conferme e i messaggi di convalida dei singoli campi rientrano tutti nello stesso lavoro di traduzione. I traduttori li vedono come righe etichettate nell’Editor di traduzione avanzato.
Inserisci il modulo nelle tue pagine tradotte
Gravity Forms si trova all’interno di una pagina o di un articolo, di solito tramite il blocco di Gravity Forms o lo shortcode [gravityform id="X" title="false"]. Il modo in cui gestisci l’inserimento multilingue è la parte che sorprende di più i clienti, quindi ecco la regola:
Usa lo stesso blocco o shortcode in ogni versione linguistica della pagina. Non creare un modulo separato per ogni lingua.
Il flusso:
- Crea il modulo una volta sola nella tua lingua di origine.
- Invia il modulo per la traduzione (o lascia che Traduci tutto automaticamente lo rilevi).
- Inserisci il modulo nella pagina nella lingua di origine utilizzando il blocco di Gravity Forms o lo shortcode
[gravityform]. - Traduci la pagina tramite WPML > Traduzioni > Bacheca nello stesso modo in cui tradurresti qualsiasi altra pagina. L’incorporamento del modulo viene mantenuto nella pagina tradotta.
- Quando un visitatore arriva sulla pagina tradotta, GFML fornisce automaticamente il modulo nella lingua del visitatore: stesso ID del modulo, stesso shortcode, contenuto tradotto.
Non hai bisogno di un ID del modulo diverso per ogni lingua. Non hai bisogno di scambiare gli shortcode per lingua. La traduzione è collegata al modulo di origine; il plugin di collegamento risolve la versione nella lingua corretta al momento del rendering in base alla lingua della pagina.
L’eccezione: quando desideri davvero moduli diversi per ogni lingua. Alcuni siti hanno bisogno di moduli strutturalmente diversi per ogni lingua (campi diversi, logica diversa, non solo testo diverso). In tal caso, crea moduli Gravity Forms separati (uno per lingua) e inserisci lo shortcode di ciascuno nella versione linguistica corrispondente della pagina utilizzando l’editor di WordPress per quella traduzione. Questa è l’unica situazione in cui gli shortcode differiscono tra le lingue.
Attenzione con i page builder
Se la tua pagina è costruita in Divi, Elementor o in un altro page builder che racchiude gli shortcode nel proprio modulo di testo, lo shortcode potrebbe non sopravvivere sempre in modo pulito alla traduzione. Se la pagina tradotta mostra il modulo nella lingua di origine, apri la pagina tradotta nel page builder e reinserisci lì il blocco o lo shortcode del modulo. L’editor a blocchi nativo di WordPress e l’editor classico non presentano questo problema.
Le etichette dei campi e le opzioni si traducono insieme ai campi di prezzo e di prodotto
Ogni etichetta del campo, segnaposto, opzione del menu a discesa, scelta del pulsante di opzione, etichetta della casella di controllo e contenuto del campo HTML appare nel lavoro di traduzione. Per i distintivi campi di prezzo di Gravity Forms (Prodotto, Quantità, Totale, Spedizione), anche le etichette vengono tradotte (“Quantity” diventa “Quantité”), mentre la gestione numerica sottostante rimane intatta. I campi elenco, le firme digitali e i caricamenti di file si traducono allo stesso modo. Le scelte multiple e le scelte di immagini (tipi di campo di Gravity Forms 2.9) si traducono a partire da GFML 1.8.3 in poi.
Moduli impaginati e moduli conversazionali
Per i moduli impaginati, ogni intestazione di pagina e titolo di interruzione di pagina si trova nel lavoro di traduzione. La logica condizionale che si ramifica tra le pagine sopravvive alla traduzione. I valori di scelta rimangono allineati tra le lingue, quindi le regole di visualizzazione/nascondimento continuano ad attivarsi sugli stessi dati. I moduli conversazionali (la modalità una domanda alla volta) traducono ogni richiesta e ogni transizione. Scegli una versione linguistica, segui il flusso conversazionale e conferma che ogni passaggio risulti naturale prima della pubblicazione.
Messaggi di convalida dei singoli campi
Ogni campo in Gravity Forms ha la propria impostazione Messaggio di convalida nella scheda Avanzato del campo: il testo mostrato quando la convalida fallisce. Ciascuno di essi appare come una riga nell’Editor di traduzione avanzato.
Se non vedi un messaggio di convalida per il singolo campo nel lavoro di traduzione, probabilmente il campo sta utilizzando il messaggio predefinito di Gravity Forms (impostato in Moduli > Impostazioni > Impostazioni modulo) invece di una sostituzione specifica per il campo. Puoi impostare un messaggio personalizzato per il campo e reinviare il modulo per la traduzione, oppure tradurre l’impostazione predefinita globale tramite WPML Traduzione stringhe.
Conferme: testo, reindirizzamento e pagina
Gravity Forms supporta tre tipi di conferma e tutti e tre funzionano in modalità multilingue:
- Le conferme di testo si traducono in linea. Modifica la conferma nella lingua di origine in Gravity Forms > reinvia il modulo per la traduzione > il testo tradotto appare per ogni lingua.
- Le conferme di pagina puntano a una pagina WordPress. Traduci quella pagina attraverso il normale flusso di lavoro di traduzione delle pagine di WPML; il visitatore vede la versione linguistica che corrisponde al proprio contesto.
- Le conferme di reindirizzamento inviano il visitatore a un URL dopo l’invio. L’URL stesso è traducibile per ogni lingua. Imposta un URL di ringraziamento diverso per ogni lingua nell’Editor di traduzione avanzato.
Notifiche e instradamento delle notifiche
Ogni notifica di Gravity Forms si traduce per lingua: A Email, Da Nome, Oggetto, modelli del corpo e merge tag. Il corpo della notifica utilizza i merge tag di Gravity Forms ({Name}, {Email}, {All Fields}) e questi si risolvono correttamente dopo la traduzione. Le regole di instradamento delle notifiche inviano invii diversi a destinatari diversi in base ai valori dei campi. Sopravvivono alla traduzione perché i valori di scelta sottostanti rimangono allineati tra le lingue.
Dopo la traduzione, invia un invio di prova in ogni lingua e conferma che la notifica arrivi nella lingua del visitatore con le giuste sostituzioni dei merge tag.
Logica condizionale sui valori di scelta tradotti
La logica condizionale sulle scelte basate su testo (pulsanti di opzione, caselle di controllo, menu a discesa) continua a funzionare nelle traduzioni perché GFML mantiene una mappa dei valori tra le etichette di origine e quelle tradotte. Il visitatore vede “Pas encore” in francese; il valore sottostante rimane “Not yet”; la regola condizionale continua ad attivarsi su “Not yet”.
L’unica cosa che interrompe la logica condizionale: modificare l’etichetta di scelta nella lingua di origine dopo la traduzione senza reinviare il modulo per la traduzione. La mappatura diventa obsoleta. Risolvi il problema reinviando il modulo: GFML aggiorna la mappa dei valori.
Add-on di integrazione: Mailchimp, ActiveCampaign, HubSpot, Zapier, Slack, Webhooks
Gli add-on di Gravity Forms che inviano gli invii a servizi di terze parti (Mailchimp, ActiveCampaign, HubSpot, Zapier, Slack, Webhooks e il resto) ricevono l’input tradotto del visitatore. Il nome e il messaggio di un visitatore francese arrivano in francese a destinazione. Anche le etichette degli elenchi mappati, le fasi della pipeline e i nomi dei canali si traducono se esistono come stringhe a livello di modulo.
Se la tua integrazione utilizza i valori dei campi anziché le etichette (ad esempio, mappando il valore di un menu a discesa a un elenco Mailchimp), il valore rimane canonico tra le lingue, in modo che la mappatura non si interrompa.
Problemi comuni
- Le etichette di scelta non si traducono nelle email di notifica. Reinvia il modulo per la traduzione dopo aver modificato le etichette nella lingua di origine. Se il problema persiste, verifica che GFML sia aggiornato. Questo era un problema ricorrente nelle versioni precedenti ed è tracciato nelle richieste di supporto.
- Lo stile del blocco del modulo appare errato nelle pagine tradotte. Regressione di stile nota: consulta la pagina degli errata. Soluzione alternativa: utilizza l’incorporamento standard con lo shortcode
[gravityform]invece del blocco del modulo in attesa di una correzione. - Il modulo mostra “There is nothing to translate” quando ovviamente c’è. Di solito è un problema di cache della bacheca. Aggiorna la pagina o reinvia il modulo per la traduzione dall’articolo che lo incorpora.
- La logica condizionale smette di attivarsi nei moduli tradotti. Un’etichetta di scelta è stata modificata nella lingua di origine dopo la traduzione. Reinvia il modulo per la traduzione per aggiornare la mappa dei valori.
Scritto da Amir · Ultimo aggiornamento 2 luglio 2026
Scritto da Amir · Ultimo aggiornamento 2 luglio 2026