Hoy hemos publicado la primera beta pública de una Traducción de cadenas completamente nueva, que evita todas las llamadas a la base de datos para traducir cadenas en el front-end y en el panel de administración de WordPress.
La forma en que funciona Traducción de cadenas en WPML ha cambiado a lo largo de los años. Nuestro objetivo siempre fue permitirle traducir cada texto de su sitio y cargar el servidor lo menos posible.
En los últimos años, los plugins y temas se han vuelto más grandes y utilizan muchas más cadenas traducibles. Una página típica del panel de administración que abre un maquetador visual, WooCommerce y varios otros plugins grandes podría cargar más de 30K cadenas desde la base de datos. Este crecimiento en el número de cadenas traducibles ha hecho que los sitios sean más lentos con Traducción de cadenas. WPML le permite traducir todo en la página y, al filtrar tantas cadenas, la CPU y la base de datos se sobrecargan.
Hoy estamos listos con una nueva versión que cambia por completo el funcionamiento de Traducción de cadenas. Esta nueva versión incorpora dos cambios importantes:
- Tocar solo las cadenas que quiera traducir
- Basarse en los archivos .mo para aplicar las traducciones
El primer cambio significa que la tabla de Traducción de cadenas no incluirá de forma predeterminada todos los textos de todos los plugins y del tema. Para la gran mayoría de los sitios, los temas y plugins vienen con sus propios archivos .mo con traducciones buenas y completas. No hay necesidad de que WPML filtre (y haga traducibles) todas estas cadenas. Si quiere anular la traducción de los textos de un plugin, aún puede hacerlo. Podrá elegir los plugins que quiera y WPML registrará las cadenas que provengan de ellos.
El segundo gran cambio significa que WPML no llama a la base de datos para la traducción de ninguna cadena. WPML compila archivos .mo para sus traducciones y deja que WordPress los cargue. El tamaño de estos archivos .mo depende del número de cadenas que traduzca. En la mayoría de los servidores, cargar un archivo es significativamente más rápido que cargar múltiples entradas desde la base de datos (la base de datos es el cuello de botella de rendimiento para muchos sitios).
Generación de los archivos .mo
WPML Traducción de cadenas gestiona la generación y el mantenimiento de los archivos .mo automáticamente. Esto ocurre cada vez que traduce una cadena en la página WPML -> Traducción de cadenas.
Sin embargo, después de actualizar a esta beta, tendrá que generar los archivos por primera vez.
Si su sitio tenía alguna cadena traducida antes de la actualización, verá el siguiente cuadro de diálogo en cualquier página del panel de administración después de actualizar Traducción de cadenas:
Puede volver a generar los archivos .mo si algo sale mal mientras prueba la beta.
Para hacerlo:
- Vaya a WPML -> Soporte.
- Haga clic en el enlace Solución de problemas.
- Desplácese hacia el final de la página y haga clic en Show custom MO Files Pre-generation dialog box.
- Vuelva a cargar la página (este paso no será necesario en la versión final).
- Aparecerá el cuadro de diálogo que le permite regenerar los archivos .mo.
Los resultados
Esta versión ya se está ejecutando en todos nuestros sitios de producción (WPML.org, Toolset.com e ICanLocalize.com). Está funcionando sin problemas y los servidores están contentos. Traducción de cadenas nunca fue un factor significativo en el rendimiento de nuestros sitios, por lo que estamos utilizando otros sitios para el análisis de rendimiento.
Recibimos docenas de sitios de clientes, donde Traducción de cadenas era mucho más significativo. En todos estos sitios, confirmamos que la carga del servidor debido a Traducción de cadenas ha caído prácticamente a cero. Estos sitios ahora cargan en aproximadamente la mitad del tiempo que tardaban antes (¡hurra!).
Estado actual del desarrollo
Esta beta está lista para que la pruebe. La única advertencia es que aún no funciona en instalaciones de multisitio. Si tiene una instalación de WordPress (normal) de un solo sitio y sospecha que tiene problemas de rendimiento debido a Traducción de cadenas, pruebe esta beta. Vamos a dejar que esta beta se ejecute durante varias semanas y, mientras tanto, recopilaremos los comentarios de los clientes. Completaremos la compatibilidad con multisitio mientras analizamos más sitios de clientes.
Si ha cambiado a esta beta y sigue teniendo problemas de rendimiento significativos relacionados con WPML, queremos ver su sitio. Es posible que encontremos otros focos de problemas de rendimiento que debamos solucionar. Queremos asegurarnos de que, para cuando esto pase a producción, nadie tenga problemas de rendimiento relacionados con WPML. Nuestro objetivo es publicar WPML 4.3 para producción en la primera quincena de septiembre.
Descargar y probar
¡Recuerde que esta versión aún no funciona en instalaciones de multisitio!Está bien usarla en sitios de desarrollo y en sitios de producción, pero con cierta precaución.
Actualización automática
Para obtener esta beta, vaya a Plugins -> Añadir nuevo y haga clic en la pestaña Comercial:

Desde esta página, active el canal Beta y actualice los plugins automáticamente.
Visite nuestra página sobre la instalación de versiones beta de WPML para obtener más detalles.
Para obtener las actualizaciones automáticas o cambiar al canal beta, debe registrar su sitio.
Actualización manual
También puede actualizar manualmente.
Para hacerlo, siga las instrucciones en Actualizar WPML manualmente (incluso si se refiere a una versión antigua de WPML, el proceso es exactamente el mismo).
¿Comentarios?
Después de probar esta beta de WPML, nos encantaría recibir sus comentarios. Por favor, comparta con nosotros toda la información que pueda. Queremos saber si esta beta soluciona los problemas de rendimiento y sobre cualquier problema de rendimiento restante que debamos resolver.
Deje sus comentarios y nos pondremos en contacto con usted.
Actualización – 2019-08-16
Hemos publicado una nueva beta que soluciona los siguientes problemas:
- Incompatibilidad con WPML Multilingual & Multicurrency for WooCommerce: puede instalar la versión actual o la beta de WPML Multilingual & Multicurrency for WooCommerce incluida con esta versión.
- Mal rendimiento al guardar la entrada con un gran número de campos personalizados.
Problemas conocidos hasta ahora
Todavía estamos trabajando en pulir algunas partes. A día de hoy, esta es la lista de problemas conocidos:
- El multisitio aún no es compatible.
- Al borrar cadenas de Traducción de cadenas no se actualiza el archivo .mo generado.
- Al borrar todas las cadenas de un dominio, no se borrará el archivo .mo generado.
- Después de borrar todas las cadenas de un dominio, la regeneración de los archivos .mo (consulte «Generación de los archivos .mo» más arriba para saber cómo regenerar los archivos) no borrará el archivo .mo correspondiente.
- Los textos de administración traducidos devolvían el original en la función icl_translate (afectando a WPML Multilingual & Multicurrency for WooCommerce: «El asunto personalizado de los correos electrónicos de nuevos pedidos no se traduce»).

