Autor:
    Creación:2026-08-23Última actualización:2026-08-23

    Documentación: Función getIntlayerAsync en intlayer

    Descripción

    La función getIntlayerAsync selecciona un diccionario por su clave y resuelve su contenido para una localidad determinada, cargando solo esa localidad.

    Es la contraparte asincrónica de getIntlayer, destinada a los lugares donde se lee un diccionario fuera del renderizado — constructores de rutas head / metadatos, loaders, funciones de servidor.

    Mientras que getIntlayer carga el diccionario fusionado que contiene todas las localidades, los plugins de construcción (@intlayer/babel, @intlayer/swc) reescriben esta llamada en getDictionaryAsync(loaderMap, key, locale), apuntando a los fragmentos por localidad en .intlayer/dynamic_dictionaries/. El bundle por lo tanto solo carga la localidad realmente solicitada.

    Sin esos plugins — una construcción no optimizada — la llamada se resuelve a través del registro de diccionarios sincrónico en su lugar: el mismo contenido, sin la división por localidad.

    Características Clave:

    • Las mismas claves tipadas, selectores y contenido devuelto que getIntlayer
    • Carga solo el fragmento de localidad solicitado en construcciones optimizadas
    • Las llamadas concurrentes para el mismo fragmento comparten una única carga
    • Seguro de usar en constructores de metadatos async, loaders y funciones de servidor

    Firma de Función

    typescript
    getIntlayerAsync(
      key: DictionaryKeys,                        // Requerido
      localeOrSelector?: LocalesValues | DictionarySelector, // Opcional
      plugins?: Plugins[]                         // Opcional
    ): Promise<DeepTransformContent<...>>
    

    Parámetros

    • key: DictionaryKeys

      • Description: La clave del diccionario a leer, tal como se declara en tus archivos de contenido.
      • Type: DictionaryKeys — una unión de cada clave de diccionario declarada.
      • Required: Yes
    • localeOrSelector: LocalesValues | DictionarySelector

      • Description: La locale para interpretar el contenido, o un objeto selector para diccionarios dinámicos.
        • 'fr' — una locale
        • { item: 2 } — un elemento de colección (omite item para obtener cada elemento como un array)
        • { variant: 'black-friday' } — una variante nombrada (omite para la default)
        • { variant: { id: 'prod_abc', userId: '123' } } — una variante estructurada
        • Cualquier selector puede llevar una locale: { item: 2, locale: 'fr' }
      • Type: LocalesValues | DictionarySelector
      • Required: No (Optional) — por defecto la defaultLocale configurada.
    • plugins: Plugins[]

      • Description: Transformadores de nodos personalizados que reemplazan los plugins base del intérprete. Solo uso avanzado.
      • Type: Plugins[]
      • Required: No (Optional)

    Devoluciones

    • Type: Promise<Content> — una promesa que se resuelve al contenido interpretado del diccionario, tipado desde tu declaración.

    Ejemplo de uso

    Uso Básico

    typescript
    import { getIntlayerAsync } from "intlayer";
    
    const { title } = await getIntlayerAsync("app", "fr"); // "Bonjour"
    

    getIntlayer vs getIntlayerAsync

    getIntlayer getIntlayerAsync
    Devuelve El contenido Una promesa del contenido
    Diccionario cargado El diccionario fusionado (todas las locales) El chunk de la locale solicitada únicamente
    Mejor para Renderizado, rutas de código sincrónicas Metadatos, loaders, funciones del servidor
    ¿Requiere plugin? No No — la división por locale requiere plugins build

    Ambos aceptan los mismos argumentos y devuelven el mismo contenido: cambiar de uno a otro solo cambia cuándo y cuánto se carga.


    Funciones Relacionadas

    • getIntlayer: Equivalente síncrono que lee el diccionario combinado.
    • getDictionaryAsync: La función de nivel inferior que los plugins de compilación reescriben en esta llamada.
    • getLocale: Detecta el locale de una solicitud entrante.

    TypeScript

    typescript
    function getIntlayerAsync<
      const T extends DictionaryKeys,
      const A extends LocalesValues | DictionarySelector = DeclaredLocales,
    >(
      key: T,
      localeOrSelector?: A,
      plugins?: Plugins[]
    ): Promise<
      DeepTransformContent<
        DictionaryRegistryResult<T, A>,
        IInterpreterPluginState,
        ExtractSelectorLocale<A>
      >
    >;