Documentación de Universally

Guías paso a paso, consejos de SEO multilingüe y mejores prácticas para ayudarte a traducir y escalar tu sitio web de WordPress.

Actualizaciones de traducción en Astro

Una cadena nueva se traduce en segundo plano después de la primera página que la utiliza, y una edición del panel llega a su servidor en ejecución mediante un push firmado o una verificación cada 60 segundos por idioma. Un sitio estático solo recoge ambas al reconstruir.

Cadenas nuevas

  1. Una página llama a t() con texto que no tiene traducción. El visitante recibe el texto fuente.
  2. Después de la respuesta, la integración informa las cadenas omitidas a Universally en bloques de 500. En entornos de ejecución que ofrecen waitUntil, el informe finaliza después de que se envía la respuesta.
  3. Universally devuelve las traducciones que ya tiene y traduce el resto en segundo plano.
  4. Las traducciones nuevas llegan a su servidor en un informe posterior (una cadena omitida se informa nuevamente en la siguiente renderización) o cuando ese idioma se recarga.

En la práctica, una cadena nueva se traduce uno o dos segundos después de su primera renderización. Los informes no se envían durante las compilaciones.

Ediciones del panel

Las traducciones automáticas no cambian la época de caché de un idioma. Las ediciones del panel sí lo hacen, y dos mecanismos las llevan a su servidor.

Push. Universally envía un POST firmado a https://{su dominio de proyecto}/_universally/revalidate cuando usted:

  • edita una cadena, la verifica o desverifica, o la elimina
  • restaura una revisión o retraduce
  • verifica o elimina en bloque
  • elimina una cadena fuente
  • borra la caché

La integración responde la solicitud antes del enrutamiento de Astro, por lo que no agrega ninguna página ni ruta. El push expira después de 3 segundos y los fallos solo se registran, por lo que para ediciones instantáneas el endpoint debe ser accesible desde Internet. Los pushes se envían solo en modo SDK.

Polling. Después de una respuesta localizada, la integración verifica si la época de caché de un idioma ha cambiado, como máximo una vez cada revalidateSeconds (60 por defecto) por idioma. La verificación solicita una sola fila. Ante un cambio, recarga ese idioma y registra universally: se recargaron N traducciones para X en la época de caché E. Establecer revalidateSeconds en 0 desactiva el polling, y el servidor mantiene sus traducciones hasta que llega un push o se reinicia. Consulte Opciones de integración de Astro.

Las ediciones que realiza en la pantalla Traducciones viajan de esta manera. Consulte Editar traducciones manualmente.

Cuándo se cargan las traducciones

Evento Qué se carga
Inicio del servidor de desarrollo El catálogo de cada idioma
Inicio de la compilación El catálogo de cada idioma
Primera solicitud localizada en un servidor que no ejecutó ninguna (por ejemplo, el servidor Node compilado) El catálogo de cada idioma. Esa solicitud espera por él.
Push o época de caché cambiada Los idiomas que cambiaron

Si un idioma no se carga, el registro muestra universally: could not preload .... Ese idioma no se vuelve a intentar ni se consulta hasta que se reinicia el proceso, así que corrija la causa y reinicie.

Idiomas

La lista de idiomas se lee una vez, cuando se ejecuta la configuración de Astro. Agregar un idioma o activar su interruptor Live no envía ningún push, así que reinicie el servidor de desarrollo o reconstruya antes de que funcione el nuevo prefijo.

Sitios estáticos

Una compilación estática no tiene código de servidor después de la compilación: sin sondeos ni punto final de push. Las ediciones del panel solo aparecen después de que reconstruye y redespliega. La compilación en sí envía todo lo que omitió en una llamada bloqueante, luego imprime N nuevas cadenas traducidas. Reconstruya para incluirlas., por lo que una segunda compilación pone esas cadenas en el HTML.

Varias instancias de servidor

Cada instancia mantiene su propio catálogo en memoria. Un push llega a la instancia que lo responde, y las otras se ponen al día mediante sondeos. Mantenga revalidateSeconds en un retraso que esté dispuesto a esperar.

Cuando se alcanza el límite de palabras

Una vez que se utilizan las palabras prepagas del proyecto, Universally solo devuelve las cadenas que ya tiene. La integración registra universally: word limit reached, {variant} keeps serving source text una vez por idioma. Las cadenas traducidas se siguen sirviendo. Después de agregar palabras, las cadenas faltantes se informan nuevamente en su próxima renderización. Consulte Límites de uso.

¿Te ha resultado útil?