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.

Integración de Astro

La integración de Astro es un paquete, @universally-sdk/astro, que sirve tu sitio de Astro en todos los idiomas de tu proyecto Universally desde un único árbol de páginas. Tu idioma de origen permanece en /about, y cada idioma de destino se sirve en el mismo host bajo su propio prefijo, como /fr/about, sin rutas adicionales. La integración está en Beta y requiere Astro 5 o superior.

Cómo se sirven las páginas traducidas

Cuando creas un proyecto de Astro, la pantalla Instrucciones de configuración pregunta ¿Cómo se deben servir las páginas traducidas? y ofrece tres tarjetas. Nada está preseleccionado, y Continuar permanece deshabilitado hasta que elijas una.

Tarjeta Ejemplo de URL Lo que sucede
SDK (Recomendado) website.com/fr/ Tu servidor de Astro renderiza páginas traducidas. Instalas un paquete.
JavaScript tusitio.com Una etiqueta de script traduce la página en el navegador. Sin cambio de DNS, pero sin visibilidad en motores de búsqueda, y solo páginas públicas.
Subdominio fr.tusitio.com Universally sirve cada idioma en su propio subdominio obteniendo tu página y traduciéndola. Tu aplicación Astro solo renderiza el idioma de origen.

Tu sitio sigue funcionando como está hasta que termines la configuración. El resto de esta sección cubre los modos SDK y Subdominio.

Cómo funciona el modo SDK

  • Los idiomas se leen una vez, cuando se ejecuta tu configuración de Astro. La integración solicita a Universally los idiomas del proyecto, omite aquellos cuyo interruptor Activo está desactivado y utiliza el prefijo de URL de cada idioma como su segmento de ruta.
  • Las traducciones viven en la memoria de tu servidor. Todo el catálogo se carga cuando el servidor de desarrollo o una compilación se inician, por lo que t() es una búsqueda síncrona sin llamadas de red mientras se renderiza una página.
  • Las cadenas nuevas se informan después de la respuesta. Una cadena sin traducción aún se renderiza en tu texto de origen y se envía a Universally una vez que el visitante ya tiene la página. Un renderizado posterior la sirve traducida, generalmente uno o dos segundos después.
  • Las ediciones del panel llegan a tu servidor mediante un push a tu sitio, o mediante una verificación que se ejecuta como máximo una vez cada 60 segundos por idioma por defecto.
  • El idioma de origen no cuesta nada. En las páginas de origen, t() devuelve su argumento y no realiza ninguna búsqueda, informe o llamada a la API.

Las reglas de glosario se aplican a cada cadena, y las ediciones que realices en la pantalla Traducciones llegan a tu servidor. Reglas de traducción está oculto para proyectos SDK, porque tu código decide qué pasa por t().

Límites

  • No hay t() del lado del cliente. Solo existe en el servidor, en Astro.locals. Las islas reciben texto traducido como props.
  • Los sitios estáticos se traducen en tiempo de compilación. Las cadenas nuevas y las ediciones del panel requieren una reconstrucción.
  • Las palabras provienen del total prepagado de tu proyecto. Una vez que se agota, las cadenas que ya están traducidas se siguen sirviendo y las nuevas permanecen en el idioma de origen. Consulta Límites de uso.
  • La creación de un proyecto requiere el rol de Propietario o Administrador. Consulta Roles y permisos.
¿Te ha resultado útil?