Cargando contenido con AJAX es utilizado por muchos temas y plugins de WordPress (como WooCommerce) para mostrar contenido y extender la funcionalidad sin recargar la página. Para un sitio web completamente multilingüe, necesitamos traducir las cadenas AJAX en WordPress, así como las cadenas estándar de tus publicaciones y páginas.
En WordPress, puedes ver las cadenas de Ajax en:
- páginas de pago
- formularios de varios pasos
- widgets
- desplazamientos infinitos
- formularios de reserva
En TranslatePress, estamos detectando cadenas AJAX y puedes traducirlas igual que un cadena normal. Pero ahí no es donde ocurre la magia. Así que echemos un vistazo más de cerca a cómo hemos implementado esto en realidad.
El truco para traducir cadenas AJAX en WordPress es usar la misma funcionalidad para el contenido cargado por AJAX que para una carga de página normal.
Esto significa que no hacemos suposiciones sobre lo que el JavaScript del frontend está utilizando para la salida o lo que está haciendo con la respuesta AJAX.
Estamos traduciendo el contenido siempre que sea HTML.
Campos Gettext en solicitud AJAX
Campos gettext ya vienen envueltas en etiquetas de traducción del filtro gettext. Siempre que la configuración regional esté configurada correctamente en WordPress, detectaremos todas las cadenas cargadas en esa solicitud ajax.
Así que hay muchas probabilidades de que todas esas cadenas aparezcan ya traducidas de archivos .po para muchos complementos.
Conclusiones
Al traducir las solicitudes AJAX en el lado de PHP, no tuvimos que tener dos analizadores (tanto PHP como JS). Así que más reutilización de código, menos complejidad y, con suerte, menos errores.
Todavía tenemos un detector de cambios en el DOM de JS que rastrea los cambios de texto que no son solicitudes AJAX, pero esa es una discusión para otro momento. Está haciendo las cosas de manera un poco diferente en comparación con el analizador de PHP, por lo que, si bien tenemos que administrar código adicional que conceptualmente hace lo mismo, tiene un impacto mucho menor en la experiencia general.
Esto lo resume bastante bien. TranslatePress se diseñó desde el principio para que pudieras traducir todo desde una misma interfaz sencilla. La traducción de AJAX era una de las prioridades de nuestra lista de tareas pendientes y estamos muy contentos con el resultado. Así que empieza ya mismo a traducir esas interfaces basadas en AJAX.
¿Todavía tiene preguntas sobre cómo traducir cadenas AJAX en WordPress? ¡Háganoslo saber en los comentarios!
Si encontraste útil esta publicación, por favor visita nuestro Canal de YouTube, donde subimos constantemente tutoriales en video cortos y fáciles de seguir. También puedes seguirnos en Facebook y Twitter ser el primero en enterarte cada vez que publicamos.

Tengo problemas con tu plugin... cuando traduzco los campos de mi carrito de compras, obtengo un error interno del servidor al enviar el pedido en todos los idiomas. ¿Puedes ayudarme a solucionarlo?
Por favor, abre un ticket en nuestro sitio web y explica tu problema allí.
Gracias por tu respuesta. Solo puedo enviar un ticket con una licencia… Actualmente utilizo tu plugin gratuito, así que no tengo un número de serie para ingresar en ese formulario.
Escribe en los foros gratuitos entonces, explica tu problema allí.