WPML

Estamos listos con una beta para WPML 3.5. Esta versión incluye mejoras importantes en Traducción de cadenas, tanto en funcionalidad como en rendimiento.

Casi todos los sitios que usan WPML utilizan Traducción de cadenas. Por lo tanto, puede imaginar que mejorar WPML Traducción de cadenas es una de nuestras principales prioridades. Esta versión de WPML está dedicada casi exclusivamente a mejorar Traducción de cadenas.

Traducción de cadenas más rápida y ligera


Para traducir cadenas, WPML necesita cargar la traducción desde la base de datos. Hemos experimentado con diferentes técnicas de carga y parece que el enfoque de WPML 3.5 es el ganador definitivo.

En versiones anteriores intentamos:

  • Solo las traducciones, exactamente cuando se necesitan
  • Precargar todas las cadenas por contexto
  • Precargar todas las cadenas desde la base de datos

Cada uno de estos enfoques tenía sus pros y sus contras. El problema era que, por cada sitio que se beneficiaba de uno de estos enfoques, otro sitio se veía perjudicado.

WPML 3.5 utiliza un nuevo enfoque para precargar las traducciones de cadenas. Mantiene una tabla adicional que le indica a WPML qué cadenas se necesitan para cada página. Luego, precarga exactamente las cadenas necesarias para esa página, sin importar a qué contexto pertenezcan. La ventaja obvia de esto es que se precargan menos cadenas y no es necesario cargar ninguna mientras se renderiza la página. Como resultado, tanto el consumo de memoria como el uso de la CPU se reducen considerablemente. La desventaja de este nuevo enfoque es un pequeño código PHP nuevo que realiza un seguimiento de qué cadena se utiliza en cada lugar. Ese código adicional se ejecuta muy rápido, gracias al acceso dedicado a la base de datos y al almacenamiento en caché que desarrollamos para él.

La mejora de rendimiento que debe esperar depende de diferentes factores:

  • La cantidad de cadenas en su sitio: cuantas más cadenas tenga, mayor será el beneficio (relativamente, ahora se precargan menos cadenas).
  • La versión de PHP del servidor: PHP 7 es mucho más eficiente que PHP 5.6. Si todavía usa PHP 5.x, obtendrá un aumento de rendimiento mucho más significativo, pero también lo notará en PHP 7.
  • La cantidad de otros plugins que esté ejecutando, la cantidad de contenido, el tema, etc.: obviamente, si su sitio tiene otro código lento, la mejora en Traducción de cadenas no será tan significativa.

Para nuestro propio sitio web WPML.org, obtenemos las siguientes mejoras de rendimiento:

Versión de PHPPáginaAhorro de consumo de memoriaAhorro de uso de CPU
PHP 5.6 Inicio60 %41 %
Escritorio de administración41 %33 %
PHP 7 Inicio50 %16 %
Escritorio de administración33 %15 %

La otra mejora importante en WPML 3.5 es la capacidad de traducir enlaces en cadenas (automáticamente). ¿Qué significa esto y por qué lo necesita?

Usamos las «cadenas» para muchas cosas diferentes. Por ejemplo, si su tema almacena el texto «principal» de su página de inicio en una «opción», WPML usará Traducción de cadenas para ello. Hasta ahora, tenía que hacer un seguimiento de las cadenas que tenían URL y ajustarlas al contenido traducido manualmente. Si muchas cadenas tienen enlaces, esto podría ser una tarea muy agotadora.

Ahora, WPML maneja los enlaces en Traducción de cadenas de la misma manera que maneja los enlaces en las «entradas» (entradas, páginas y tipos personalizados). Cuando traduce cualquier cadena que tenga algún enlace, ese enlace se ajustará automáticamente para apuntar al contenido traducido. Escribiré una entrada de blog separada que muestre cómo funciona esto con nuestro plugin Toolset Layouts.

Actualización del 2 de agosto

Hemos encontrado otra fuente de pérdida de tiempo muy significativa en el panel de administración. Esta es trivial y debería haberse solucionado hace tiempo. Hay un «widget de WPML» en el panel de administración de WordPress que probablemente ya nadie necesite. Ese widget extrae contenido de muchos lugares de la base de datos, así como entradas de blog recientes del sitio web wpml.org. Eliminar esto suprimirá una serie de llamadas a la base de datos, así como llamadas externas potencialmente lentas.

Nos estamos ocupando de ese widget (eliminándolo) y revisando todas las llamadas externas para asegurarnos de que no ralenticen su sitio.

Descargar y probar


WPML 3.5 está pasando a la fase de control de calidad ahora. Ya hemos probado completamente el cambio en Traducción de cadenas, pero hay mucho más que probar antes de que podamos lanzarlo como una versión de producción.

Nos encantaría conocer sus comentarios sobre esta nueva versión. Si su sitio tiene problemas de rendimiento relacionados con Traducción de cadenas, esta versión es para usted.

Recuerde que esta es una versión beta, así que pruébela solo en sitios de desarrollo (no en sitios de producción).

Esta beta solo está disponible para los titulares de la cuenta “Multilingual CMS”, ya que gira principalmente en torno a las mejoras en Traducción de cadenas.

Inicie sesión en su cuenta de WPML y haga clic en Descargas. Desplácese hasta la parte inferior y descargue el CMS Beta Package. Descomprima y suba a WordPress todos los componentes de WPML que esté utilizando.

¿Comentarios?


Háganos saber cómo le funciona esta versión dejando comentarios aquí. Si tiene algún problema, inicie un nuevo hilo en el foro de soporte de WPML Y deje un comentario aquí con una breve descripción y un enlace a ese hilo.

¡Esperamos sus comentarios, preguntas, ideas y sugerencias!

¿Le ha resultado útil? Comparta este artículo: