このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "初期ドキュメント"v9.4.02026/8/23
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクドキュメントのMarkdownをクリップボードにコピー
Documentation: getDictionaryAsync Function in intlayer
Description
getDictionaryAsync 関数は、辞書の単一ロケールチャンクを読み込み、その解釈されたコンテンツを返します。
これは .intlayer/dynamic_dictionaries/ で生成されるロケール単位のローダーマップに対する getDictionary の対応物です。すべてのロケールを保持する辞書を受け取る代わりに、ローダーマップを受け取り、要求されたロケールが必要とするチャンクだけを待ちます。
アプリケーションコードでは通常、この関数ではなくgetIntlayerAsyncを呼び出します。ビルドプラグイン は、すべてのgetIntlayerAsync('key', locale)呼び出しをgetDictionaryAsync(loaderMap, 'key', locale)の呼び出しに書き換えます。getDictionaryAsyncはカスタムローダーと独自のローダーマップを構築するツールのためにエクスポートされています。
主な機能:
- 要求されたロケールチャンクのみを読み込みます
- プレーン (
locale → loader) と修飾済み (locale → qualifierId → loader) ローダーマップをサポートしています - 同じチャンクの同時読み込みを重複排除し、解決されたコンテンツをキャッシュします
- 失敗した読み込みはキャッシュから削除されるため、後の呼び出しがチャンクを再試行します
関数シグネチャ
コードをクリップボードにコピー
パラメータ
dictionaryLoaders: PlainDynamicLoaderMap | QualifiedDynamicLoaderMap- 説明: ロケールごとのloader map。プレーンmapはロケールをloaderに関連付けます。qualified mapは(collectionsとvariantsで使用)ロケールをqualifier idに関連付け、その後loaderに関連付けます。qualified mapの場合、selectorが対象とするchunk(複数可)のみが読み込まれます。
- 型:
PlainDynamicLoaderMap<T> | QualifiedDynamicLoaderMap - 必須: はい
key: string- 説明: dictionary key。chunk cacheの名前空間化に使用されます。
- 型:
string - 必須: はい
localeOrSelector: LocalesValues | DictionarySelector- 説明: コンテンツを解釈するロケール、またはselectorオブジェクト(
{ item }、{ variant }、オプションでlocale)。dynamic dictionariesを参照してください。 - 型:
LocalesValues | DictionarySelector - 必須: いいえ(オプション)— 設定された
defaultLocaleがデフォルトです。
- 説明: コンテンツを解釈するロケール、またはselectorオブジェクト(
plugins: Plugins[]- 説明: Nodetransformers。デフォルトではbase interpreter setです。
- 型:
Plugins[] - 必須: いいえ(オプション)
Returns
- Type:
Promise<Content>— 読み込まれたチャンクの解釈されたコンテンツに解決されるプロミス。 - Description: マップが要求されたロケール、またはそのフォールバックのいずれに対してもチャンクを出さない場合、
nullに解決されます。これは、欠落した適格な座標がどのように解決されるかを反映しています。
使用例
生成されたローダーマップを使用する
コードをクリップボードにコピー
import { getDictionaryAsync } from "intlayer";
import appLoaderMap from "../.intlayer/dynamic_dictionaries/app";
const { title } = await getDictionaryAsync(appLoaderMap, "app", "fr");
カスタムローダーマップを使用する
コードをクリップボードにコピー
修飾されたマップ上のセレクターを使用
コードをクリップボードにコピー
動作に関する注釈
キャッシングと重複排除
キャッシュは各 key + locale + selector トリプルの promise を保存するため、同じチャンクに対する同時呼び出しは単一の load を待機します。拒否された load はキャッシュから削除されるため、失敗したチャンクは同じ失敗を永遠に再生するのではなく、次の呼び出しで再試行されます。
ロケールフォールバック
プレーンローダーマップは、同期モードと同じフォールバックチェーンに従って処理されます。リクエストされたロケールが最初に処理され、次にそのフォールバック、そしてどのフォールバックもチャンクを出力しなかった場合は null が処理されます。
関連する関数
getIntlayerAsync: アプリケーションが呼び出す関数。ビルドプラグインはこれをgetDictionaryAsyncに書き換えます。getDictionary: 完全な辞書を取得する同期的な対応関数。- Dynamic dictionaries: コレクションとバリアント、およびそれらが生成するローダーマップ。
TypeScript
コードをクリップボードにコピー
