Nueva forma de traducir cadenas en WPML 4.3
Nueva forma de traducir cadenas en WPML 4.3
Acabamos de lanzar WPML 4.3, que incluye una forma completamente nueva de traducir cadenas. Aunque el administrador de Traducción de Cadenas parece igual, funciona de manera diferente. En lugar de leer traducciones desde la base de datos, genera y carga archivos .mo. Esto resulta en un uso mucho más ligero de la base de datos para la traducción de cadenas.
¿Por qué reescribimos la Traducción de Cadenas?
La versión anterior de la traducción de cadenas cargaba las cadenas desde la base de datos e intentaba evitar cargar archivos .mo. Algunos de los grandes plugins de WordPress vienen con enormes archivos .mo, que traducen cada texto en el plugin. Por ejemplo, los archivos .mo de WooCommerce tienen un poco más de 8,000 cadenas. Otros plugins grandes tienen recuentos de cadenas similares.
Cuando ejecutas un sitio en inglés, WordPress no carga estos archivos .mo. Sin embargo, cuando ejecutas un sitio en cualquier otro idioma (solo un idioma, no sitios multilingües), WordPress cargará todos estos archivos .mo. Cargar estos archivos lleva de 100ms a más de un segundo, dependiendo del servidor que estés utilizando. Estos archivos .mo se cargarán en cualquier página en la que se ejecute el plugin (típicamente, en todas las páginas del sitio).
Hasta WPML 4.3, intentamos optimizar este mecanismo. WPML tenía una opción, que estaba habilitada por defecto, para evitar que el tema y los plugins cargaran archivos .mo. En su lugar, comprobamos qué cadenas son necesarias para cada página y cargamos esas cadenas específicas desde la base de datos.
El mecanismo funcionaba bien en general, pero a veces se volvía en contra. Cuando un plugin alcanzaba muchas cadenas en cada carga de página, WPML cargaba una lista enorme de cadenas desde la base de datos en lugar de permitir que el plugin cargara su propio archivo .mo.
A medida que algunos plugins crecieron con el tiempo, nuestro mecanismo de optimización se volvió menos y menos eficiente.
En WPML 4.3 decidimos que era hora de cambiar el enfoque. Dejamos de bloquear archivos .mo y dejamos de cargar cadenas desde la base de datos. Ahora WPML no intenta optimizar los tiempos de traducción de otros plugins o temas, y solo optimiza sus propias cadenas.
¿Cómo afectará esto al tiempo de carga de mi sitio?
Esto depende. Si tu sitio era rápido hasta ahora (lo cual es la mayoría de los sitios que utilizan WPML), no notarás un cambio significativo en la velocidad. Por ejemplo, en wpml.org, la mayoría de las páginas son un poco más rápidas y algunas páginas tardan un poco más en cargarse.
La razón por la que algunas páginas tardan un poco más en cargarse ahora es porque hay otros plugins que cargan enormes archivos .mo. El aumento de velocidad de las traducciones de cadenas se ve compensado por los tiempos de carga de los archivos .mo de otros plugins.
Sin embargo, estas fluctuaciones son muy pequeñas y solo podemos medirlas con herramientas de perfilación avanzadas. Un sitio web que funcionaba rápido hasta ahora generalmente seguirá funcionando rápido con WPML 4.3.
Algunos sitios web que sufrían de lentitud en la carga ahora cargarán mucho más rápido. Antes de WPML 4.3, algunos sitios tenían decenas de miles de cadenas para cargar desde la base de datos. Esto causaba una carga significativa en la base de datos, consumía mucha RAM y provocaba tiempos de carga largos. Estos sitios verán una mejora muy significativa en el rendimiento.
¿Hay más optimizaciones de rendimiento en camino?
Sí. Ahora que hemos eliminado los principales problemas de rendimiento derivados de la traducción de cadenas, tendremos más oportunidades de optimización.
Esperamos encontrar problemas que requerirán trabajar con los autores de otros plugins y temas. El rendimiento mejora más cuando los plugins y temas cargan menos cadenas. La mayoría de los autores de plugins y temas están dispuestos a trabajar con nosotros y estamos seguros de que podemos resolver casi todos los problemas de rendimiento que surjan a continuación. El proceso de optimización es casi siempre el mismo:
- Dividir archivos .mo enormes en varios archivos más pequeños
- Cargar los archivos correctos en las páginas correctas
La segmentación trivial se encuentra entre las cadenas que se utilizan en el administrador y las que se muestran en el front-end. Las optimizaciones más profundas dividen aún más las cadenas del front-end según el tipo de página. Por ejemplo, en sitios de comercio electrónico, no es necesario cargar las cadenas utilizadas en el proceso de pago en cada página.
Por supuesto, cuando haya una oportunidad de optimización dentro de WPML mismo, nos ocupamos de ella de inmediato.
Actualiza, Mide e Informa
WPML 4.3 se está implementando en este momento. Lo estamos lanzando gradualmente durante una o dos semanas. Si tus sitios aún no han recibido esta actualización, dale algo de tiempo y verás la actualización en unos días. Puedes saltarte la cola y obtener esta actualización de inmediato yendo a la página Plugins -> Añadir Nuevo, haciendo clic en la pestaña Comercial y luego utilizando el botón Buscar actualizaciones.
Si sientes que alguna página de tu sitio tarda más en cargarse, te sugerimos instalar el plugin Query Monitor (sigue nuestro tutorial sobre cómo analizar problemas de rendimiento con Query Monitor). Ten en cuenta que en WPML 4.3 hemos solucionado problemas de compatibilidad significativos con Query Monitor, por lo que los informes que veas no son útiles para versiones anteriores a WPML 4.3.
Observa si las llamadas de WPML son destacadas en los informes de carga. Si es así, repórtanoslo en el soporte técnico de WPML. Incluso si ves hilos que parecen similares, inicia el tuyo propio. Necesitaremos acceso a tu sitio, por lo que es mejor trabajar en cada sitio por separado.
Por supuesto, estaremos muy contentos de escuchar tus actualizaciones generales sobre el rendimiento (también es igualmente útil informar sobre mejoras ). Deja tus comentarios aquí y nos pondremos en contacto contigo.
La publicación WPML 4.3 con Traducción de Cadenas Renovada apareció primero en WPML.
Consulta el artículo original para más información: https://wpml.org/changelog/2019/10/wpml-4-3-with-revamped-string-translation/.
En Zonsai, te ayudamos a mantener tu web actualizada y segura.