このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "ロケール省略時、リクエストのロケール(Next.js の headers と cookies)を待機"v9.5.122026/9/28
- "初版ドキュメント"v9.4.02026/8/23
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクドキュメントのMarkdownをクリップボードにコピー
ドキュメント: intlayer の getIntlayerAsync 関数
説明
getIntlayerAsync 関数は辞書をキーで選択し、与えられたロケールに対してそのコンテンツを解決します。そのロケールのみを読み込みます。
これは getIntlayer の非同期対応であり、ルート head / メタデータビルダー、ローダー、サーバー関数など、レンダリング外で辞書が読み込まれる場所を対象としています。
getIntlayer がすべてのロケールを保持するマージされた辞書を取得する場合、ビルドプラグイン(@intlayer/babel、@intlayer/swc)はこの呼び出しを getDictionaryAsync(loaderMap, key, locale) に書き換え、.intlayer/dynamic_dictionaries/ のロケール別チャンクを指すようにします。したがって、バンドルには実際にリクエストされたロケールのみが含まれます。
これらのプラグインがない場合(最適化されていないビルド)、呼び出しは同期辞書レジストリを通じて解決されます。ロケール別に分割されていない同じコンテンツです。
主な機能:
getIntlayerと同じ型付きキー、セレクター、および返されたコンテンツ- 最適化されたビルドで要求されたロケールチャンクのみを読み込む
- 同じチャンクへの並行呼び出しは単一の読み込みを共有
asyncメタデータビルダー、ローダー、サーバー関数での使用が安全
関数シグネチャ
コードをクリップボードにコピー
パラメータ
key: DictionaryKeys- 説明: コンテンツファイルで宣言されたとおりの辞書キー。
- 型:
DictionaryKeys、すべての宣言された辞書キーの Union。 - 必須: はい
localeOrSelector: LocalesValues | DictionarySelector- 説明: コンテンツを解釈するロケール、または動的辞書のセレクタオブジェクト。
'fr':ロケール{ item: 2 }:collectionアイテム(すべてのアイテムを配列として取得するにはitemを省略){ variant: 'black-friday' }:名前付きvariant(defaultを使用するには省略){ variant: { id: 'prod_abc', userId: '123' } }:構造化された variant- 任意のセレクタがロケールを持つ可能性:
{ item: 2, locale: 'fr' }
- 型:
LocalesValues | DictionarySelector - 必須: いいえ(任意)。省略した場合は
getIntlayerと同じように解決されます(リクエストのロケール、次に保存済みロケール、次にdefaultLocale)。非同期関数のため、リクエストのロケールが非同期でしか読めない場合はそれを待つこともできます。Next.js の Server Components、generateMetadata、route handler では、next-intlayer/serverのgetLocale()と同様に、リクエストのheaders()とcookies()を読み取ります。この読み取りはルートを動的レンダリングに切り替えるため、IntlayerProviderがまだロケールを提供していない場合にのみ行われます。
- 説明: コンテンツを解釈するロケール、または動的辞書のセレクタオブジェクト。
plugins: Plugins[]- 説明: 基本インタープリタプラグインを置き換えるカスタムノード トランスフォーマー。高度な使用のみ。
- 型:
Plugins[] - 必須: No (オプション)
Returns
- 型:
Promise<Content>、辞書の解釈されたコンテンツに解決する promise。型は宣言から取得されます。
使用例
基本的な使用法
コードをクリップボードにコピー
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はビルドプラグインが必要です |
両方とも同じ引数を受け入れ、同じコンテンツを返します。一方から他方に切り替えることで変わるのは、いつとどの程度のロードが行われるかだけです。
関連する関数
TypeScript
コードをクリップボードにコピー
