Referencia de API

functionsetRequestLocale
                  
                    setRequestLocale(url: URL, getConfig?: GetRequestConfigFn): Promise<boolean>
                  
                

Extrae y valida el locale del primer segmento del pathname, luego llama a tu función getConfig para cargar los mensajes. Debe ser awaited antes de cualquier otra llamada. En SSR, prefiere createIntlMiddleware() o runWithLocale() para mantener aislado todo el render.

functionrunWithLocale
                  
                    runWithLocale<R>(url: URL, fn: () => R | Promise<R>, getConfig?: GetRequestConfigFn): Promise<R>
                  
                

Ejecuta una función dentro de un contexto aislado por request usando AsyncLocalStorage de Node.js. Los runtimes SSR sin almacenamiento seguro fallan explícitamente en vez de compartir estado global.

functiongetLocale
                  
                    getLocale(): string
                  
                

Retorna el string del locale actual establecido por setRequestLocale. Lanza un error si se llama antes de establecer el locale.

functiongetTranslations
                  
                    getTranslations<T>(namespace?: string)
                  
                

Retorna una función t(key, values?) tipada con scope al namespace dado. El objeto values opcional reemplaza placeholders {curlyOpen}varName{curlyClose}. También expone t.markup(key, tags | {curlyOpen} values?, tags {curlyClose}) con sanitización por parser para interpolación HTML y t.raw(key) para acceder a valores sin coerción.

functiongetDefaultLocale
                  
                    getDefaultLocale(): string
                  
                

Retorna el defaultLocale configurado via las opciones de la integración o createIntlMiddleware. Por defecto es "en" si no se establece.

functiongetLocales
                  
                    getLocales(): string[]
                  
                

Retorna el array de locales configurados via las opciones de la integración o createIntlMiddleware. Retorna un array vacío si no se establece.

functionisValidLocale
                  
                    isValidLocale(locale: string): boolean
                  
                

Verifica que el locale tenga una sintaxis válida estilo BCP-47 y, cuando existe una lista locales, que también esté incluido en ella.

functiongetMessages
                  
                    getMessages(): Record<string, unknown>
                  
                

Retorna el objeto completo de mensajes para el request actual. Lanza un error si se llama antes de setRequestLocale.

functioncreateIntlMiddleware
                  
                    createIntlMiddleware(options: { locales: string[]; defaultLocale?: string; routes?: RoutesMap })
                  
                

Crea middleware de Astro que valida y carga el locale del request, y mantiene todo el render o rewrite dentro de un contexto AsyncLocalStorage de Node.js. También configura locales, defaultLocale y routes en el store. Importar desde astro-intl/middleware.

functionpath
                  
                    path(routeKey: string, options?: { locale?: string; params?: Record<string, string>; encode?: boolean }): string
                  
                

Genera una URL localizada para una ruta nombrada. Usa el locale actual si no se especifica uno, rechaza segmentos de locale inválidos y sustituye los placeholders [param] con los params proporcionados. Importar desde astro-intl/routing.

functionswitchLocalePath
                  
                    switchLocalePath(currentPath: string | URL, nextLocale: string): string
                  
                

Convierte la URL actual a su equivalente en otro locale validado. Matchea la ruta contra los templates, extrae los params dinámicos y reconstruye la URL con el template del locale destino. Preserva query strings y hashes. Importar desde astro-intl/routing.

typeRequestConfig

Tipo retornado por tu función getRequestConfig. Contiene locale: string y messages: Record.

typeIntlConfig

Tipo de configuración para las opciones de la integración. Contiene defaultLocale: string, locales: string[], routes?: RoutesMap y fallbackRoutes?: FallbackRouteInfo[].

typePrimitive

Tipo unión para valores de interpolación: string | number | boolean | null | undefined. Se usa como tipo de valor en el objeto values pasado a t() y t.markup().

typeDotPaths<T>

Tipo utilitario que genera todos los paths válidos en notación de puntos para un objeto de mensajes dado. Se usa internamente para proveer autocompletado en las claves de traducción.

typeRoutesMap

Tipo para el objeto de configuración de rutas. Mapea claves de ruta a un objeto de locale → template de URL. Ejemplo: { about: { en: "/about", es: "/sobre-nosotros" } }.

functioncreateGetTranslations (React)
                  
                    createGetTranslations<UI, DefaultLocale>(ui: UI, defaultLocale: DefaultLocale)
                  
                

Crea una función de traducción standalone para React sin depender del store global. Retorna getTranslations(lang, namespace) con soporte de t.rich() retornando ReactNode[]. Importar desde astro-intl/react.

functioncreateGetTranslations (Svelte)
                  
                    createGetTranslations<UI, DefaultLocale>(ui: UI, defaultLocale: DefaultLocale)
                  
                

Crea una función de traducción standalone para Svelte sin depender del store global. Retorna getTranslations(lang, namespace) con soporte de t.rich() retornando RichSegment[]. Importar desde astro-intl/svelte.

functionrenderRichText
                  
                    renderRichText(segments: RichSegment[], options?: { tags?: Record<string, string>; components?: Record<string, (chunks: string) => string> }): string
                  
                

Convierte un array de RichSegment[] en un string HTML sanitizado. El texto y los chunks se escapan, los tags nativos inseguros se rechazan y los callbacks de componentes se tratan como código confiable antes de la sanitización final. Importar desde astro-intl/svelte.

functiongetFallbackRoutes
                  
                    getFallbackRoutes(): FallbackRouteInfo[]
                  
                

Retorna las rutas fallback de i18n recopiladas del hook astro:routes:resolved de Astro 6.1. Retorna un array vacío en Astro < 6.1 o cuando no hay rutas fallback configuradas. Cada entrada contiene el pattern de la ruta, el pathname opcional y el locale.

typeFallbackRouteInfo

Tipo para las entradas de rutas fallback. Contiene pattern: string (el patrón de ruta), pathname?: string (el pathname estático si está disponible) y locale: string (el locale al que sirve este fallback).

typet.raw()

Retorna el valor de traducción sin coerción a string. Usa esto para acceder a arrays, objetos y números en su tipo JavaScript nativo en lugar de obtener [object Object].

typeMessagesDirConfig

Tipo de configuración para la opción messagesDir. Configúralo con una ruta de directorio (ej. "./src/i18n/messages") y la integración cargará automáticamente los archivos {locale}.json con los import attributes correctos.

functionComponente AutoRedirect
                  
                    <AutoRedirect locales={string[]} defaultLocale={string} />
                  
                

Componente de Astro que valida sus props de locale, detecta el idioma del navegador y redirige a la ruta localizada codificada apropiada. defaultLocale debe estar incluido en locales. Importa desde astro-intl/components.

typeAuto-detección de Locale (Modo Estático)

Cuando se ejecuta en modo estático sin llamadas explícitas a setRequestLocale(), getLocale() detecta automáticamente el locale desde window.location.pathname. Hace fallback a defaultLocale si no se encuentra un locale válido. Solo del lado del cliente.