Autor:
    Erstellung:2026-08-23Letzte Aktualisierung:2026-08-23

    Dokumentation: getIntlayerAsync Funktion in intlayer

    Beschreibung

    Die Funktion getIntlayerAsync wählt ein Dictionary nach seinem Schlüssel aus und löst seinen Inhalt für ein bestimmtes Locale auf, wobei nur dieses Locale geladen wird.

    Es ist das asynchrone Gegenstück zu getIntlayer, gedacht für Stellen, an denen ein Dictionary außerhalb des Rendering gelesen wird — Route head / Metadata Builder, Loader, Server Functions.

    Während getIntlayer das zusammengeführte Dictionary mit jedem Locale einzieht, schreiben die Build Plugins (@intlayer/babel, @intlayer/swc) diesen Aufruf in getDictionaryAsync(loaderMap, key, locale) um und verweisen auf die Locale-spezifischen Chunks in .intlayer/dynamic_dictionaries/. Das Bundle enthält daher nur noch das tatsächlich angeforderte Locale.

    Ohne diese Plugins — ein nicht optimierter Build — wird der Aufruf stattdessen durch die synchrone Dictionary Registry aufgelöst: derselbe Inhalt, aber ohne die Locale-spezifische Aufteilung.

    Wichtigste Funktionen:

    • Gleiche typisierte Schlüssel, Selektoren und zurückgegebener Inhalt wie getIntlayer
    • Lädt in optimierten Builds nur den angeforderten Locale-Chunk
    • Gleichzeitige Aufrufe für denselben Chunk teilen sich einen einzelnen Load
    • Sicher zu verwenden in async Metadata Buildern, Loadern und Server Functions

    Funktionssignatur

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

    Parameter

    • key: DictionaryKeys

      • Beschreibung: Der Schlüssel des zu lesenden Wörterbuchs, wie in deinen Content-Dateien deklariert.
      • Typ: DictionaryKeys — eine Union aller deklarierten Wörterbuchschlüssel.
      • Erforderlich: Ja
    • localeOrSelector: LocalesValues | DictionarySelector

      • Beschreibung: Die Locale zur Interpretation des Inhalts oder ein Selector-Objekt für dynamische Wörterbücher.
        • 'fr' — eine Locale
        • { item: 2 } — ein collection-Element (omit item um jedes Element als Array zu erhalten)
        • { variant: 'black-friday' } — eine benannte variant (omit für die default)
        • { variant: { id: 'prod_abc', userId: '123' } } — eine strukturierte Variante
        • Jeder Selector kann eine Locale tragen: { item: 2, locale: 'fr' }
      • Typ: LocalesValues | DictionarySelector
      • Erforderlich: Nein (Optional) — standardmäßig auf die konfigurierte defaultLocale.
    • plugins: Plugins[]

      • Beschreibung: Benutzerdefinierte Node-Transformer, die die Standard-Interpreter-Plugins ersetzen. Nur für fortgeschrittene Verwendung.
      • Typ: Plugins[]
      • Erforderlich: Nein (Optional)

    Rückgabewert

    • Type: Promise<Content> — ein Promise, das sich zum interpretierten Inhalt des Wörterbuchs auflöst, typisiert aus Ihrer Deklaration.

    Beispielverwendung

    Grundlegende Verwendung

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

    getIntlayer vs getIntlayerAsync

    getIntlayer getIntlayerAsync
    Returns Der Inhalt Ein Promise des Inhalts
    Dictionary loaded Das zusammengeführte Wörterbuch (alle Locales) Das Chunk der angeforderten Locale nur
    Best suited for Rendering, synchrone Code-Pfade Metadaten, Loader, Server-Funktionen
    Requires a plugin? Nein Nein — die Per-Locale-Aufteilung benötigt die Build-Plugins

    Beide akzeptieren die gleichen Argumente und geben den gleichen Inhalt zurück: Der Wechsel von einem zum anderen ändert nur wann und wie viel geladen wird.


    Verwandte Funktionen

    • getIntlayer: Synchrones Äquivalent, das das zusammengeführte Dictionary liest.
    • getDictionaryAsync: Die Low-Level-Funktion, die die Build-Plugins in diesen Aufruf umschreiben.
    • getLocale: Erkennt das Locale einer eingehenden Anfrage.

    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>
      >
    >;