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

    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

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