著者:
    作成:2026-08-23最終更新:2026-08-23

    ドキュメント: intlayergetIntlayerAsync 関数

    説明

    getIntlayerAsync 関数は辞書をキーで選択し、与えられたロケールに対してそのコンテンツを解決します。そのロケールのみを読み込みます

    これは getIntlayer の非同期対応であり、ルート head / メタデータビルダー、ローダー、サーバー関数など、レンダリング外で辞書が読み込まれる場所を対象としています。

    getIntlayer がすべてのロケールを保持するマージされた辞書を取得する場合、ビルドプラグイン@intlayer/babel@intlayer/swc)はこの呼び出しを getDictionaryAsync(loaderMap, key, locale) に書き換え、.intlayer/dynamic_dictionaries/ のロケール別チャンクを指すようにします。したがって、バンドルには実際にリクエストされたロケールのみが含まれます。

    これらのプラグインがない場合(最適化されていないビルド)、呼び出しは同期辞書レジストリを通じて解決されます。ロケール別に分割されていない同じコンテンツです。

    主な機能:

    • getIntlayer と同じ型付きキー、セレクター、および返されたコンテンツ
    • 最適化されたビルドで要求されたロケールチャンクのみを読み込む
    • 同じチャンクへの並行呼び出しは単一の読み込みを共有
    • async メタデータビルダー、ローダー、サーバー関数での使用が安全

    関数シグネチャ

    typescript
    getIntlayerAsync(
      key: DictionaryKeys,                        // 必須
      localeOrSelector?: LocalesValues | DictionarySelector, // オプション
      plugins?: Plugins[]                         // オプション
    ): Promise<DeepTransformContent<...>>
    

    パラメータ

    • key: DictionaryKeys

      • 説明: コンテンツファイルで宣言されたとおりの辞書キー。
      • : DictionaryKeys — すべての宣言された辞書キーの Union。
      • 必須: Yes
    • localeOrSelector: LocalesValues | DictionarySelector

      • 説明: コンテンツを解釈するロケール、または動的辞書のセレクタオブジェクト。
        • 'fr' — ロケール
        • { item: 2 }collectionアイテム(すべてのアイテムを配列として取得するにはitemを省略)
        • { variant: 'black-friday' } — 名前付きvariantdefaultを使用するには省略)
        • { variant: { id: 'prod_abc', userId: '123' } } — 構造化された variant
        • 任意のセレクタがロケールを持つ可能性: { item: 2, locale: 'fr' }
      • : LocalesValues | DictionarySelector
      • 必須: No (オプション) — 設定された defaultLocale がデフォルト。
    • plugins: Plugins[]

      • 説明: 基本インタープリタプラグインを置き換えるカスタムノード トランスフォーマー。高度な使用のみ。
      • : Plugins[]
      • 必須: No (オプション)

    Returns

    • Type: Promise<Content> — 辞書の解釈されたコンテンツに解決する promise。型は宣言から取得されます。

    使用例

    基本的な使用法

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

    getIntlayer vs getIntlayerAsync

    getIntlayer getIntlayerAsync
    Returns コンテンツ コンテンツのPromise
    Dictionary loaded マージされたディクショナリ(すべてのロケール) リクエストされたロケールのチャンクのみ
    Best suited for レンダリング、同期コードパス メタデータ、ローダー、サーバー関数
    Requires a plugin? No No — per-locale splitはビルドプラグインが必要です

    両方とも同じ引数を受け入れ、同じコンテンツを返します。一方から他方に切り替えることで変わるのは、いつどの程度のロードが行われるかだけです。


    関連する関数

    • getIntlayer: マージされた辞書を読む同期的な同等物。
    • getDictionaryAsync: ビルドプラグインがこの呼び出しを書き換える低レベルの関数。
    • getLocale: 受信リクエストのロケールを検出します。

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