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

    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

      • Description: İçerik dosyalarınızda bildirildiği şekilde okunacak sözlüğün anahtarı.
      • Type: DictionaryKeys — bildirilen her sözlük anahtarının birleşimi.
      • Required: Evet
    • localeOrSelector: LocalesValues | DictionarySelector

      • Description: İç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' }
      • Type: LocalesValues | DictionarySelector
      • Required: Hayır (İsteğe bağlı) — yapılandırılan defaultLocale değerini kullanır.
    • plugins: Plugins[]

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

    Döndürülen Değer

    • Type: 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

    getIntlayer getIntlayerAsync
    Döndürülen değer İçerik İçeriğin bir promise'i
    Yüklenen sözlük Birleştirilmiş sözlük (tüm diller) Yalnızca istenen dilin parçası
    En uygun kullanım Rendering, senkron kod yolları Metadata, loaders, server fonksiyonları
    Plugin gerekli mi? Hayır Hayı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

    • getIntlayer: Birleştirilmiş sözlüğü okuyan senkron eşdeğer.
    • getDictionaryAsync: Build eklentilerinin bu çağrıyı yeniden yazdığı alt seviye fonksiyon.
    • getLocale: Gelen bir isteğin yerel ayarını algılar.

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