Cómo traducir Contact Form 7 en WordPress: etiquetas de formulario, mensajes y plantillas de correo
Aprenda a traducir cada parte de un formulario de Contact Form 7 en su sitio de WordPress a todos los idiomas que hablan sus visitantes. Esta guía cubre todas las etiquetas de formulario, toda la pestaña Mensajes, ambas plantillas de correo, el texto de aceptación, las etiquetas de cuestionario, los valores seleccionables separados por barras verticales y las integraciones de envío que alimenta Contact Form 7. Le guía paso a paso por el flujo de trabajo de Contact Form 7 con WPML y el complemento WPML Multilingual for CF7.
Antes de empezar
Instale y active estos plugins:
- Contact Form 7.
- WPML y WPML Traducción de cadenas.
- WPML Multilingual for CF7 (el complemento que cubre esta página).
Cree el formulario en Contact Form 7 en el idioma de origen de su sitio (cada etiqueta de formulario, las plantillas Correo y Correo (2), cada entrada en la pestaña Mensajes y cualquier configuración adicional) antes de enviar el formulario a traducir. Puede editar el formulario más adelante y volver a enviarlo a traducir si algo cambia.
Traducir todo automáticamente se encarga de esto por usted
Si su sitio tiene activado Traducir todo automáticamente, no necesita enviar el formulario a traducir manualmente. WPML detecta los formularios nuevos y actualizados junto con el resto de su contenido y los traduce en segundo plano. El paso de inserción en la página que se indica a continuación se sigue aplicando, pero el paso de enviar el formulario a traducir es automático. El resto de esta página describe el procedimiento manual para los sitios que usan Traducir una parte: usted elige qué traducir (o para los formularios que quiera traducir antes de la cola automática).
Enviar el formulario a traducir
- Vaya a WPML > Traducciones > Escritorio.
- Despliegue la sección Contact Forms.
- Marque el formulario que quiera traducir.
- Elija un método de traducción: PTC (recomendado), su traductor o Traducir yo mismo.
- Haga clic en Traducir.
La plantilla del formulario, Correo y Correo (2), y la pestaña Mensajes se incluyen en el mismo trabajo de traducción. Los traductores los ven como filas etiquetadas en el Editor de traducción avanzado.
Insertar el formulario en sus páginas traducidas
Contact Form 7 se inserta en una página o entrada mediante el shortcode [contact-form-7], generado normalmente por la pantalla de administración de Contacto como [contact-form-7 id="123" title="My Form"]. La regla de inserción multilingüe es:
Use el mismo shortcode en cada versión de idioma de la página. No cree un formulario distinto por idioma.
El flujo de trabajo es el siguiente:
- Cree el formulario una vez en su idioma de origen.
- Envíe el formulario a traducir (o deje que Traducir todo automáticamente lo detecte).
- Inserte el shortcode en la página en el idioma de origen.
- Traduzca la página a través de WPML > Traducciones > Escritorio de la misma manera que traduciría cualquier otra página. El shortcode se conserva en la página traducida.
- Cuando un visitante abre la página traducida, WPML Multilingual for CF7 muestra automáticamente el formulario en el idioma del visitante: mismo shortcode, contenido traducido.
No necesita un ID de formulario diferente por idioma. La traducción está vinculada al formulario de origen; el plugin puente resuelve la versión en el idioma correcto en el momento de la visualización, según el idioma de la página.
Tanto los shortcodes basados en ID como los basados en título funcionan. [contact-form-7 id="123" title="Contact form 1"] funciona de forma multilingüe desde el primer momento. [contact-form-7 title="Contact form 1"] (solo título, sin ID) también se resuelve en el idioma correcto. La resolución de solo título se incluyó en la versión 1.1.0 (junio de 2021). Ambas formas son seguras.
La excepción: cuando realmente quiere formularios diferentes por idioma. Si necesita formularios estructuralmente diferentes por idioma (diferentes etiquetas de formulario, diferentes plantillas de correo, diferente contenido en la pestaña Mensajes), cree formularios de Contact Form 7 separados e inserte el shortcode de cada uno en la versión de idioma correspondiente de la página usando el editor de WordPress para esa traducción. Esa es la única situación en la que los shortcodes difieren entre idiomas.
Problema común con los maquetadores visuales
Si su página está creada en Divi, Elementor u otro maquetador visual cuyo módulo de texto contiene el shortcode, es posible que el shortcode no siempre se conserve correctamente al traducir la página. Si la página traducida muestra el formulario en el idioma de origen, abra la página traducida en el maquetador visual y vuelva a insertar allí el shortcode [contact-form-7]. El editor de bloques nativo de WordPress y el editor clásico no tienen este problema.
Etiquetas de formulario y textos visibles para el visitante
Todo el contenido de las etiquetas de formulario visible para el visitante se traduce: las etiquetas (el texto fuera de la etiqueta entre corchetes), las etiquetas de los botones (el valor en [submit "Send"]), los textos de marcador de posición configurados mediante la opción placeholder y los valores de las opciones dentro de las etiquetas [checkbox], [radio] y [select].
El tipo y el nombre de la etiqueta de formulario no se traducen. Son identificadores. Los valores de la etiqueta de formulario (las opciones que ve el visitante) sí se traducen. Ejemplo:
[select your-country "China" "India" "San Marino"]
En la traducción al francés, "China" se convierte en "Chine", mientras que your-country (el nombre de la etiqueta de formulario) y select (el tipo) se mantienen idénticos. La sustitución de la etiqueta de correo sigue funcionando porque la traducción conserva la posición de cada valor.
Valores separados por barras verticales: traduzca la etiqueta, mantenga el valor estable
La sintaxis de barra vertical le permite separar la etiqueta visible para el visitante del valor enviado en el correo electrónico:
[select your-country
"Chinese|CN"
"Indian|IN"
"Sammarinese|SM"]
Cuando traduce este formulario, solo se traducen las etiquetas (Chinese, Indian, Sammarinese). Los valores (CN, IN, SM) se mantienen canónicos. Un visitante francés ve Chinois, Indien, Saint-Marinais; el cuerpo del correo electrónico y cualquier gestor del backend siguen recibiendo CN, IN, SM. Use la sintaxis de barra vertical siempre que necesite que el valor enviado se mantenga estable en todos los idiomas: mapeos de CRM, SKU de pago, códigos geográficos.
Etiquetas de aceptación y cuestionario
La casilla de verificación de Aceptación contiene el texto de consentimiento y, por lo general, uno o más enlaces integrados a las páginas de privacidad y condiciones. Traduzca el texto como una sola fila en el trabajo de traducción; para los destinos de los enlaces, edite la fila traducida para que apunte a las páginas de privacidad y condiciones de cada idioma.
En las etiquetas de Cuestionario se traducen tanto la pregunta como la respuesta. Use la sintaxis de barra vertical para las respuestas del cuestionario de modo que la lógica de la respuesta aceptada siga siendo predecible en todos los idiomas:
[quiz captcha
"1+1=?|2"
"2+3=?|5"]
La pestaña Mensajes
La pestaña Mensajes de Contact Form 7 contiene unas 16 cadenas de validación editables: las que ven los visitantes al enviar el formulario y en caso de error. Todas se traducen en el mismo trabajo:
- 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.
- (y el resto de los mensajes predeterminados que incluye CF7).
Si en la pestaña Mensajes utiliza etiquetas de correo para interpolar la entrada (Thanks [your-name], your message has been sent!), la etiqueta de correo se seguirá resolviendo correctamente después de la traducción.
Correo y Correo (2)
Las dos plantillas de correo electrónico saliente de Contact Form 7, Correo (notificación al administrador) y Correo (2) (respuesta opcional o respuesta automática al visitante), se traducen de forma independiente. Las descripciones de Para, De, Asunto, Cabeceras adicionales, Cuerpo del mensaje y Archivos adjuntos se encuentran en el trabajo de traducción. Las etiquetas de correo dentro de los cuerpos traducidos ([your-name], [your-message], [your-email]) se resuelven correctamente.
Para Correo (2), el cuerpo de la respuesta automática visible para el visitante es donde más importa la traducción. Ese es el mensaje que llega a la bandeja de entrada del visitante. Realice un envío de prueba desde una página traducida y confirme que la respuesta automática llega en el idioma del visitante.
Integraciones de envío
Contact Form 7 tiene un conjunto pequeño pero importante de integraciones. Cada una conserva el idioma del visitante cuando se configura la traducción:
- Flamingo. El complemento de gestión de envíos del autor de Contact Form 7. Los envíos llegan a Contacto > Mensajes entrantes con el asunto y el cuerpo traducidos intactos.
- Constant Contact. La integración oficial de marketing por correo electrónico de CF7. Los datos introducidos por el visitante pasan a sus listas de Constant Contact en el idioma del visitante.
- Stripe. Los campos de la etiqueta de formulario
[stripe]de Contact Form 7 y el texto del mensaje de recibo aparecen en el trabajo de traducción. - Akismet. Los mensajes de protección contra el spam se traducen a través de WPML Traducción de cadenas (no en el trabajo de traducción del formulario).
- reCAPTCHA. El mensaje de error visible para el visitante se traduce a través de WPML Traducción de cadenas.
Problemas comunes
- La aceptación con enlace integrado apunta a la página de privacidad del idioma equivocado. Edite la traducción de la aceptación en el Editor de traducción avanzado y configure los destinos de los enlaces para cada idioma.
- Falta de coincidencia del hash del shortcode en CF7 6.0+. Resuelto en WPML Multilingual for CF7 1.3.2 (noviembre de 2024). Actualice si ve este problema.
- Las traducciones de la pestaña Mensajes no aparecen. Confirme que WPML Traducción de cadenas está activo y que el formulario se volvió a enviar a traducir después de editar la pestaña Mensajes.
- Las etiquetas de correo dentro de las traducciones se resuelven como cadenas vacías. Compruebe que el nombre de la etiqueta de formulario en la etiqueta de correo (p. ej.,
[your-name]) coincide con una etiqueta de formulario en el formulario. La traducción nunca rompe la resolución de la etiqueta de correo, pero cambiar el nombre de una etiqueta de formulario después de la traducción sí lo hará.
Escrito por Amir · Última actualización: 2 de julio de 2026
Escrito por Amir · Última actualización 2 de julio de 2026