作成:2026-09-19最終更新:2026-09-19
このドキュメントをあなたの好きなAIアシスタントに参照してくださいChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "初期ドキュメント"v9.5.52026/9/19
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを編集
このドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクコピー
ドキュメントのMarkdownをクリップボードにコピー
onRequest Astro ミドルウェアドキュメント
astro-intlayer/middleware の onRequest ミドルウェアは、各受信 HTTP リクエストのロケールを解決し、Astro.locals.intlayer を設定します。
astro.config.mjs に intlayer() 統合を登録すると、このミドルウェアは自動的に注入されます。sequence(...) を使用して Astro ミドルウェアを手動で合成する場合にのみ、直接インポートする必要があります。
使用方法
src/middleware.ts
コードをコピー
コードをクリップボードにコピー
説明
ミドルウェアは以下の処理を実行します。
- ロケール検出:
- URL: URL パスプレフィックスまたは
?locale=検索パラメーターを分析します(routing.modeがno-prefixに設定されていない限り)。 - クッキー / ヘッダー: 永続化されたロケールクッキーまたはカスタムヘッダー値をチェックします。
- Accept-Language: ブラウザの優先言語ネゴシエーションにフォールバックします。
- プリレンダリングページ(
context.isPrerendered)の場合、Astro のビルド警告を防ぐためにロケールは厳密に URL から抽出されます。
- URL: URL パスプレフィックスまたは
- コンテキストの設定:
Astro.locals.intlayerに以下を設定します。locale: 解決されたロケール。defaultLocale: デフォルトのフォールバックロケール。availableLocales: 設定されたロケールの配列。
- AsyncLocalStorage スコープ: 後続のリクエスト処理を
AsyncLocalStorageスコープ内にラップし、useIntlayer()、useDictionary()、およびuseLocale()が引数を渡さずにリクエスト状態にアクセスできるようにします。
IntlayerLocals 型
ts
コードをコピー
コードをクリップボードにコピー
