WPML

Prima di iniziare

Installa e attiva questi plugin:

  • Contact Form 7.
  • WPML e WPML Traduzione stringhe.
  • WPML Multilingual for CF7 (il componente aggiuntivo trattato in questa pagina).

Crea il modulo in Contact Form 7 nella lingua di origine del tuo sito (ogni tag del modulo, i modelli Mail e Mail (2), ogni voce nella scheda Messaggi e qualsiasi Impostazione aggiuntiva) prima di inviare il modulo per la traduzione. Puoi modificare il modulo in seguito e inviarlo nuovamente per la traduzione in caso di modifiche.

Traduci tutto automaticamente se ne occupa per te

Se il tuo sito ha attivato Traduci tutto automaticamente, non devi inviare manualmente il modulo per la traduzione. 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 è ancora valido, ma il passaggio invia il modulo per la traduzione è automatico. Il resto di questa pagina descrive il percorso manuale per i siti che utilizzano Traduci alcuni contenuti: scegli tu cosa tradurre (o per i moduli che vuoi tradurre prima della coda automatica).

Invia il modulo per la traduzione

  1. Apri WPML > Traduzioni > Dashboard.
  2. Espandi la sezione Contact Forms.
  3. Seleziona il modulo che vuoi tradurre.
  4. Scegli un metodo di traduzione: PTC (consigliato), il tuo traduttore o Traduco io.
  5. Fai clic su Traduci.

Il modello del modulo, Mail e Mail (2) e la scheda Messaggi confluiscono 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

Contact Form 7 viene inserito all’interno di una pagina o di un articolo tramite lo shortcode [contact-form-7], solitamente generato dalla schermata di amministrazione Contatto come [contact-form-7 id="123" title="My Form"]. La regola di inserimento multilingue:

Usa lo stesso shortcode in ogni versione linguistica della pagina. Non creare un modulo separato per ogni lingua.

Il flusso di lavoro:

  1. Crea il modulo una sola volta nella tua lingua di origine.
  2. Invia il modulo per la traduzione (o lascia che Traduci tutto automaticamente lo rilevi).
  3. Inserisci lo shortcode nella pagina in lingua di origine.
  4. Traduci la pagina tramite WPML > Traduzioni > Dashboard nello stesso modo in cui tradurresti qualsiasi altra pagina. Lo shortcode viene preservato nella pagina tradotta.
  5. Quando un visitatore apre la pagina tradotta, WPML Multilingual for CF7 fornisce automaticamente il modulo nella lingua del visitatore: stesso shortcode, contenuto tradotto.

Non ti serve un ID del modulo diverso per ogni lingua. La traduzione è collegata al modulo di origine; il plugin di integrazione risolve la versione nella lingua corretta al momento del rendering in base alla lingua della pagina.

Sia gli shortcode basati sull’ID che quelli basati sul titolo funzionano. [contact-form-7 id="123" title="Contact form 1"] funziona in un contesto multilingue senza configurazioni aggiuntive. Anche [contact-form-7 title="Contact form 1"] (solo titolo, nessun ID) si risolve nella lingua corretta. La risoluzione basata solo sul titolo è stata introdotta nella versione 1.1.0 (giugno 2021). Entrambe le forme sono sicure.

L’eccezione: quando vuoi davvero moduli diversi per ogni lingua. Se hai bisogno di moduli strutturalmente diversi per ogni lingua (tag del modulo diversi, modelli di email diversi, contenuto della scheda Messaggi diverso), crea moduli di Contact Form 7 separati 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.

Problema noto con i page builder

Se la tua pagina è creata in Divi, Elementor o in un altro page builder il cui modulo di testo racchiude lo shortcode, quest’ultimo 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ì lo shortcode [contact-form-7]. L’editor a blocchi nativo e l’editor classico di WordPress non presentano questo problema.

Etichette dei tag del modulo e stringhe visibili ai visitatori

Tutti i contenuti dei tag del modulo visibili ai visitatori vengono tradotti: le etichette (il testo all’esterno del tag tra parentesi quadre), le etichette dei pulsanti (il valore in [submit "Send"]), i segnaposto impostati tramite l’opzione placeholder e i valori delle opzioni all’interno dei tag [checkbox], [radio] e [select].

Il tipo e il nome del tag del modulo non vengono tradotti. Sono identificatori. I valori del tag del modulo (le scelte visibili ai visitatori) vengono invece tradotti. Esempio:

[select your-country "China" "India" "San Marino"]

Nella traduzione francese, "China" diventa "Chine", mentre your-country (il nome del tag del modulo) e select (il tipo) rimangono identici. La sostituzione dei tag dell’email continua a funzionare perché la traduzione preserva la posizione di ogni valore.

Valori separati da pipe: traduci l’etichetta, mantieni stabile il valore

La sintassi con il pipe ti permette di separare l’etichetta visibile al visitatore dal valore inviato nell’email:

[select your-country
  "Chinese|CN"
  "Indian|IN"
  "Sammarinese|SM"]

Quando traduci questo modulo, solo le etichette (Chinese, Indian, Sammarinese) vengono tradotte. I valori (CN, IN, SM) rimangono quelli canonici. Un visitatore francese vedrà Chinois, Indien, Saint-Marinais; il corpo dell’email e qualsiasi gestore di back-end riceveranno comunque CN, IN, SM. Usa la sintassi con il pipe ogni volta che il valore inviato deve rimanere stabile in tutte le lingue: mappature CRM, SKU di pagamento, codici geografici.

Tag di accettazione e quiz

La casella di controllo Accettazione contiene il testo di consenso e di solito uno o più link incorporati alle pagine sulla privacy e sui termini. Traduci il testo come una singola riga nel lavoro di traduzione; per le destinazioni dei link, modifica la riga tradotta in modo che punti alle pagine sulla privacy e sui termini specifiche per ogni lingua.

Nei tag Quiz vengono tradotte sia la domanda sia la risposta. Usa la sintassi con il pipe per le risposte del quiz, in modo che la logica della risposta accettata rimanga prevedibile in tutte le lingue:

[quiz captcha
  "1+1=?|2"
  "2+3=?|5"]

La scheda Messaggi

La scheda Messaggi di Contact Form 7 contiene circa 16 stringhe di convalida modificabili: quelle che i visitatori vedono al momento dell’invio o in caso di errore. Ognuna viene tradotta nello stesso lavoro di traduzione:

  • Thank you for your message. It has been sent.
  • One or more fields have an error. Please check and try again.
  • There was an error trying to send your message. Please try again later.
  • This field is required.
  • This e-mail address is invalid.
  • The telephone number is invalid.
  • The URL is invalid.
  • The number is smaller than the minimum allowed.
  • The number is larger than the maximum allowed.
  • The date format is incorrect.
  • The file is too big.
  • The file is not supported.
  • The Acceptance checkbox is required.
  • The answer to the quiz is incorrect.
  • (più i restanti messaggi predefiniti forniti da CF7).

Se la tua scheda Messaggi utilizza i tag dell’email per interpolare l’input (Thanks [your-name], your message has been sent!), il tag dell’email si risolverà comunque correttamente dopo la traduzione.

Mail e Mail (2)

I due modelli di email in uscita di Contact Form 7, Mail (notifica all’amministratore) e Mail (2) (risposta opzionale o autorisponditore per il visitatore), si traducono in modo indipendente. Le descrizioni di A, Da, Oggetto, Intestazioni aggiuntive, Corpo del messaggio e File allegati si trovano tutte nel lavoro di traduzione. I tag dell’email all’interno dei corpi tradotti ([your-name], [your-message], [your-email]) si risolvono correttamente.

Per Mail (2), il corpo dell’autorisponditore visibile al visitatore è quello in cui la traduzione conta di più. È il messaggio che arriva nella casella di posta del visitatore. Effettua un invio di prova da una pagina tradotta e verifica che l’autorisponditore arrivi nella lingua del visitatore.

Integrazioni per l’invio

Contact Form 7 ha un set di integrazioni piccolo ma importante. Ognuna preserva la lingua del visitatore quando la traduzione è configurata:

  • Flamingo. Il componente aggiuntivo dell’autore di Contact Form 7 per la gestione degli invii. Gli invii arrivano in Contatto > Messaggi in arrivo con l’oggetto e il corpo tradotti intatti.
  • Constant Contact. L’integrazione ufficiale di email marketing di CF7. L’input del visitatore confluisce nelle tue liste di Constant Contact nella lingua del visitatore.
  • Stripe. I campi del tag del modulo [stripe] di Contact Form 7 e il testo del messaggio di ricevuta compaiono entrambi nel lavoro di traduzione.
  • Akismet. I messaggi di protezione dallo spam vengono tradotti tramite WPML Traduzione stringhe (non nel lavoro di traduzione del modulo).
  • reCAPTCHA. Il messaggio di errore visibile al visitatore viene tradotto tramite WPML Traduzione stringhe.

Insidie comuni

  • L’accettazione con link incorporato punta alla pagina sulla privacy della lingua sbagliata. Modifica la traduzione dell’accettazione nell’Editor di traduzione avanzato e imposta le destinazioni dei link per ogni lingua.
  • Mancata corrispondenza dell’hash dello shortcode su CF7 6.0+. Risolto in WPML Multilingual for CF7 1.3.2 (nov 2024). Esegui l’upgrade se riscontri questo problema.
  • Le traduzioni della scheda Messaggi non vengono visualizzate. Conferma che WPML Traduzione stringhe sia attivo e che il modulo sia stato inviato nuovamente per la traduzione dopo aver modificato la scheda Messaggi.
  • I tag dell’email all’interno delle traduzioni si risolvono in stringhe vuote. Controlla che il nome del tag del modulo nel tag dell’email (ad es. [your-name]) corrisponda a un tag del modulo presente nel modulo. La traduzione non interrompe mai la risoluzione dei tag dell’email, ma rinominare un tag del modulo dopo la traduzione sì.

Scritto da Amir · Ultimo aggiornamento: 2 luglio 2026

Scritto da Amir · Ultimo aggiornamento 2 luglio 2026