WPML

Antes de empezar

Instale y active estos plugins:

Cree el formulario en Gravity Forms en el idioma de origen de su sitio. Añada todos los campos que quiera (campos de precios, estructura paginada, lógica condicional, notificaciones y confirmaciones) antes de enviar el formulario a traducir. Siempre puede cambiar el formulario más adelante y volver a traducir las diferencias.

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 de forma manual. 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 muestra 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 la ruta 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

  1. Abra WPML > Traducciones > Escritorio.
  2. Despliegue la sección Gravity Forms.
  3. Marque el formulario que quiera traducir.
  4. Elija un método de traducción: PTC (recomendado), su traductor o Traducir yo mismo.
  5. Haga clic en Traducir.

El formulario, sus campos, opciones, notificaciones, confirmaciones y mensajes de validación por campo entran 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

Gravity Forms se coloca dentro de una página o entrada, normalmente mediante el bloque de Gravity Forms o el shortcode [gravityform id="X" title="false"]. La forma de gestionar la inserción multilingüe es lo que más sorprende a los clientes, así que esta es la regla:

Use el mismo bloque o shortcode en la versión de cada idioma de la página. No cree un formulario distinto por idioma.

El flujo:

  1. Cree el formulario una vez en su idioma de origen.
  2. Envíe el formulario a traducir (o deje que Traducir todo automáticamente lo detecte).
  3. Inserte el formulario en la página en el idioma de origen usando el bloque de Gravity Forms o el shortcode [gravityform].
  4. Traduzca la página a través de WPML > Traducciones > Escritorio de la misma manera que traduciría cualquier otra página. La inserción del formulario se conserva en la página traducida.
  5. Cuando un visitante llega a la página traducida, GFML muestra el formulario en el idioma del visitante automáticamente: mismo ID de formulario, mismo shortcode, contenido traducido.

No necesita un ID de formulario distinto por idioma. No necesita cambiar los shortcodes por idioma. La traducción está vinculada al formulario de origen; el plugin de integración resuelve la versión en el idioma correcto en el momento de la visualización basándose en el idioma de la página.

La excepción: cuando realmente quiere formularios distintos por idioma. Algunos sitios necesitan formularios estructuralmente distintos por idioma (campos diferentes, lógica diferente, no solo texto diferente). En ese caso, cree formularios de Gravity Forms separados (uno por idioma) e inserte el shortcode de cada uno en la versión de la página del idioma correspondiente usando el editor de WordPress para esa traducción. Esa es la única situación en la que los shortcodes difieren entre idiomas.

Precaución con los maquetadores visuales

Si su página está construida en Divi, Elementor u otro maquetador visual que envuelve los shortcodes en su propio módulo de texto, puede que el shortcode no siempre sobreviva a la traducción de forma limpia. 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 el bloque o shortcode del formulario allí. El editor de bloques nativo de WordPress y el editor clásico no tienen este problema.

Las etiquetas de los campos y las opciones se traducen junto con los campos de precios y productos

Cada etiqueta de campo, texto de marcador de posición, opción desplegable, opción de botón de radio, etiqueta de casilla de verificación y contenido de campo HTML aparece en el trabajo de traducción. Para los característicos campos de precios (Pricing Fields) de Gravity Forms (Product, Quantity, Total, Shipping), las etiquetas también se traducen (“Quantity” pasa a ser “Quantité”), mientras que el manejo numérico subyacente permanece intacto. Los campos de lista (List fields), las firmas digitales (Digital Signatures) y las subidas de archivos (File Uploads) se traducen de la misma manera. Las opciones Multiple Choice e Image Choice (tipos de campos de Gravity Forms 2.9) se traducen a partir de GFML 1.8.3.

Formularios paginados y formularios conversacionales

Para los formularios paginados, cada encabezado de página y título de salto de página se incluye en el trabajo de traducción. La lógica condicional que se ramifica entre páginas sobrevive a la traducción. Los valores de las opciones se mantienen alineados entre idiomas, por lo que las reglas de mostrar/ocultar se siguen ejecutando sobre los mismos datos. Los formularios conversacionales (el modo de una pregunta a la vez) traducen cada indicación y cada transición. Elija la versión de un idioma, recorra el flujo conversacional y confirme que cada paso se lee de forma natural antes de publicar.

Mensajes de validación por campo

Cada campo en Gravity Forms tiene su propia configuración de Mensaje de validación (Validation Message) en la pestaña Avanzado (Advanced) del campo: el texto que se muestra cuando falla la validación. Cada uno de ellos aparece como una fila en el Editor de traducción avanzado.

Si no ve un mensaje de validación por campo en el trabajo de traducción, es probable que el campo esté usando el mensaje predeterminado de Gravity Forms (configurado en Forms > Settings > Form Settings) en lugar de una anulación por campo. Puede configurar un mensaje personalizado por campo y volver a enviar el formulario a traducir, o traducir el valor predeterminado global a través de WPML Traducción de cadenas.

Confirmaciones: texto, redirección y página

Gravity Forms admite tres tipos de confirmación (Confirmation) y los tres funcionan de forma multilingüe:

  • Las confirmaciones de texto (Text) se traducen en línea. Edite la confirmación en el idioma de origen en Gravity Forms > vuelva a enviar el formulario a traducir > el texto traducido aparece para cada idioma.
  • Las confirmaciones de página (Page) apuntan a una página de WordPress. Traduzca esa página a través del flujo de trabajo normal de traducción de páginas de WPML; el visitante ve la versión del idioma que coincide con su contexto.
  • Las confirmaciones de redirección (Redirect) envían al visitante a una URL después del envío. La URL en sí es traducible por idioma. Configure una URL de agradecimiento diferente para cada idioma en el Editor de traducción avanzado.

Notificaciones y enrutamiento de notificaciones

Cada notificación (Notification) de Gravity Forms se traduce por idioma: correo electrónico de destino (To Email), nombre del remitente (From Name), asunto (Subject), plantillas del cuerpo y etiquetas combinadas. El cuerpo de la notificación usa las etiquetas combinadas de Gravity Forms ({Name}, {Email}, {All Fields}) y estas se resuelven correctamente después de la traducción. Las reglas de enrutamiento de notificaciones (Notification routing) envían diferentes envíos a diferentes destinatarios basándose en los valores de los campos. Sobreviven a la traducción porque los valores de las opciones subyacentes se mantienen alineados entre idiomas.

Después de la traducción, envíe un envío de prueba en cada idioma y confirme que la notificación llega en el idioma del visitante con las sustituciones correctas de las etiquetas combinadas.

Lógica condicional en los valores de opciones traducidos

La lógica condicional en las opciones basadas en texto (botones de radio, casillas de verificación, menús desplegables) sigue funcionando en todas las traducciones porque GFML mantiene un mapa de valores entre las etiquetas de origen y las traducidas. El visitante ve “Pas encore” en francés; el valor subyacente sigue siendo “Not yet”; la regla condicional se sigue ejecutando sobre “Not yet”.

Lo único que rompe la lógica condicional: cambiar la etiqueta de la opción en el idioma de origen después de la traducción sin volver a enviar el formulario a traducir. El mapeo se queda obsoleto. Soluciónelo volviendo a enviar el formulario: GFML actualiza el mapa de valores.

Complementos de integración: Mailchimp, ActiveCampaign, HubSpot, Zapier, Slack, Webhooks

Los complementos de Gravity Forms que envían los envíos a servicios de terceros (Mailchimp, ActiveCampaign, HubSpot, Zapier, Slack, Webhooks y el resto) reciben la entrada traducida del visitante. El nombre y el mensaje de un visitante francés llegan en francés al destino. Las etiquetas de lista mapeadas, las etapas del embudo de ventas y los nombres de los canales también se traducen si existen como cadenas a nivel de formulario.

Si su integración usa valores de campo en lugar de etiquetas (por ejemplo, al mapear un valor desplegable a una lista de Mailchimp), el valor se mantiene canónico en todos los idiomas para que el mapeo no se rompa.

Problemas comunes

  • Las etiquetas de las opciones no se traducen en los correos electrónicos de notificación. Vuelva a enviar el formulario a traducir después de cambiar las etiquetas en el idioma de origen. Si el problema persiste, compruebe que GFML esté actualizado. Este era un problema recurrente en versiones anteriores y se le hace seguimiento en los hilos del foro.
  • El estilo del bloque del formulario se ve mal en las páginas traducidas. Es una regresión de estilo conocida; consulte la página de erratas. Solución alternativa: use la inserción estándar del shortcode [gravityform] en lugar del bloque del formulario mientras haya una corrección pendiente.
  • El formulario muestra “There is nothing to translate” cuando obviamente hay algo. Normalmente es un problema de caché del Escritorio. Actualice la página o vuelva a enviar el formulario a traducir desde la entrada que lo inserta.
  • La lógica condicional deja de ejecutarse en los formularios traducidos. Se editó una etiqueta de opción en el idioma de origen después de la traducción. Vuelva a enviar el formulario a traducir para actualizar el mapa de valores.

Escrito por Amir · Última actualización el 2 de julio de 2026

Escrito por Amir · Última actualización 2 de julio de 2026