Referencia de API

function setRequestLocale

                  
                    setRequestLocale(url: URL, getConfig: Function): Promise<void>
                  
                

Extrae el locale del pathname de la URL (primer segmento) y llama a tu función getConfig para cargar los mensajes. Debe ser awaited antes de cualquier otra llamada.

function runWithLocale

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

Ejecuta una función dentro de un contexto aislado por request. Usa AsyncLocalStorage en Node.js para SSR concurrency-safe. Cae en fallback a variable global en runtimes sin soporte (Cloudflare Workers, Deno).

function getLocale

                  
                    getLocale(): string
                  
                

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

function getTranslations

                  
                    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}) para interpolación HTML y t.raw(key) para acceder a valores sin coerción.

function getTranslationsReact Deprecated

                  
                    getTranslationsReact<T>(namespace?: string)
                  
                

Igual que getTranslations pero retorna una función con t.rich(key, tags) para interpolación de nodos React.

function getDefaultLocale

                  
                    getDefaultLocale(): string
                  
                

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

function getLocales

                  
                    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.

function isValidLocale

                  
                    isValidLocale(locale: string): boolean
                  
                

Verifica si un string de locale está en la lista de locales configurada. Retorna true para cualquier string si no se han configurado locales.

function getMessages

                  
                    getMessages(): Record<string, unknown>
                  
                

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

function createIntlMiddleware

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

Crea un middleware de Astro que llama automáticamente a setRequestLocale en cada request. También establece locales, defaultLocale y routes en el store de intl. Cuando se proporcionan routes, el middleware reescribe las URLs traducidas a sus rutas canónicas del filesystem. Importar desde astro-intl/middleware.

function path

                  
                    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. Sustituye los placeholders [param] con los params proporcionados. Importar desde astro-intl/routing.

function switchLocalePath

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

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

type RequestConfig

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

type IntlConfig

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

type Primitive

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().

type DotPaths<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.

type RoutesMap

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" } }.

function createGetTranslations (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.

function createGetTranslations (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.

function renderRichText

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

Convierte un array de RichSegment[] en un string HTML. Usa tags para elementos HTML nativos (ej. { bold: "strong" }) o components para funciones de renderizado personalizadas. Importar desde astro-intl/svelte.

function getFallbackRoutes

                  
                    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.

type FallbackRouteInfo

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).

type t.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].

type MessagesDirConfig

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.

function Componente AutoRedirect

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

Componente de Astro que detecta el idioma del navegador del usuario y redirige automáticamente a la ruta localizada apropiada. Úsalo en tu página raíz en lugar de Astro.redirect() para evitar el problema de la página en blanco en modo estático. Importa desde astro-intl/components.

type Auto-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.