Yazar:
    Oluşturma:2026-08-23Son güncelleme:2026-09-28

    Dokumentasyon: intlayer içindeki getIntlayerAsync Fonksiyonu

    Açıklama

    getIntlayerAsync fonksiyonu bir sözlüğü anahtarına göre seçer ve içeriğini belirli bir locale için çözer, yalnızca o locale'i yükler.

    getIntlayer fonksiyonunun asenkron karşılığıdır ve sözlüğün render işlemi dışında okunduğu yerlerde kullanılır, route head / metadata builders, loaders, server functions.

    getIntlayer tüm locale'leri içeren birleştirilmiş sözlüğü çekerken, build plugins (@intlayer/babel, @intlayer/swc) bu çağrıyı getDictionaryAsync(loaderMap, key, locale) olarak yeniden yazar ve .intlayer/dynamic_dictionaries/ içindeki locale başına chunks'lara işaret eder. Bundle bu nedenle yalnızca istenen locale'i taşır.

    Bu plugins olmadan, optimize edilmemiş bir build, çağrı bunun yerine senkron sözlük registry'si üzerinden çözülür: aynı içerik, locale başına bölünme olmadan.

    Temel Özellikler:

    • getIntlayer ile aynı typed keys, selectors ve döndürülen içerik
    • Optimize edilmiş builds'de yalnızca istenen locale chunk'ını yükler
    • Aynı chunk için eş zamanlı çağrılar tek bir yüklemişi paylaşır
    • async metadata builders, loaders ve server functions'larda kullanmak için güvenlidir

    Fonksiyon İmzası

    typescript
    getIntlayerAsync(
      key: DictionaryKeys,                        // Gerekli
      localeOrSelector?: LocalesValues | DictionarySelector, // İsteğe Bağlı
      plugins?: Plugins[]                         // İsteğe Bağlı
    ): Promise<DeepTransformContent<...>>
    

    Parametreler

    • key: DictionaryKeys

      • Açıklama: İçerik dosyalarınızda bildirildiği şekilde okunacak sözlüğün anahtarı.
      • Tür: DictionaryKeys, bildirilen her sözlük anahtarının birleşimi.
      • Gerekli: Evet
    • localeOrSelector: LocalesValues | DictionarySelector

      • Açıklama: İçeriği yorumlamak için kullanılacak yerel ayar veya dinamik sözlükler için seçici nesnesi.
        • 'fr': bir yerel ayar
        • { item: 2 }: bir koleksiyon öğesi (tüm öğeleri dizi olarak almak için item atlanmalıdır)
        • { variant: 'black-friday' }: adlandırılmış bir varyant (varsayılan olan için atlanmalıdır)
        • { variant: { id: 'prod_abc', userId: '123' } }: yapılandırılmış varyant
        • Herhangi bir seçici yerel ayar taşıyabilir: { item: 2, locale: 'fr' }
      • Tür: LocalesValues | DictionarySelector
      • Gerekli: Hayır (İsteğe bağlı). Verilmezse getIntlayer ile aynı şekilde çözümlenir (isteğin locale'i, sonra saklanan locale, sonra defaultLocale). Asenkron olduğu için, yalnızca asenkron okunabildiği durumlarda isteğin locale'ini de bekleyebilir: Next.js Server Components, generateMetadata ve route handler'larda, next-intlayer/server içindeki getLocale() gibi isteğin headers() ve cookies() değerlerini okur. Bu okuma route'u dinamik render'a geçirir, bu yüzden yalnızca IntlayerProvider locale'i henüz sağlamamışsa yapılır.
    • plugins: Plugins[]

      • Açıklama: Temel yorumlayıcı eklentilerini değiştiren özel düğüm dönüştürücüleri. Yalnızca ileri kullanım için.
      • Tür: Plugins[]
      • Gerekli: Hayır (İsteğe bağlı)

    Döndürülen Değer

    • Tür: Promise<Content>, sözlüğün yorumlanan içeriğine çözümlenen bir promise, deklarasyonunuzdan yazılmıştır.

    Örnek Kullanım

    Temel Kullanım

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

    getIntlayer vs getIntlayerAsync

    getIntlayergetIntlayerAsync
    Döndürülen değerİçerikİçeriğin bir promise'i
    Yüklenen sözlükBirleştirilmiş sözlük (tüm diller)Yalnızca istenen dilin parçası
    En uygun kullanımRendering, senkron kod yollarıMetadata, loaders, server fonksiyonları
    Plugin gerekli mi?HayırHayır, dil başına bölme, build eklentilerini gerektirir

    Her ikisi de aynı argümanları kabul eder ve aynı içeriği döndürür: birinden diğerine geçiş yalnızca ne zaman ve ne kadar yüklendiğini değiştirir.

    İlgili Fonksiyonlar

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