Creation:2025-08-23Last update:2025-08-23
このドキュメントをあなたの好きなAIアシスタントに参照してくださいChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るEdit this doc
If you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy
Copy doc Markdown to clipboard
useRewriteURL フック
Svelte向けの useRewriteURL フックは、クライアントサイドでローカライズされたURLのリライトを管理するために設計されています。現在のロケールと intlayer.config.ts の設定に基づいて、ブラウザのURLを「きれいな」ローカライズ済みバージョンに自動的に修正します。
window.history.replaceState を使用してURLを静かに更新し、完全なSvelteKitナビゲーションを発生させないようにします。
使用方法
Svelteコンポーネント内でこのフックを呼び出します。
svelte
コードをコピー
コードをクリップボードにコピー
<script> import { useRewriteURL } from "svelte-intlayer"; // リライトルールが存在する場合、アドレスバーの /fr/tests を /fr/essais に自動的に修正する useRewriteURL();</script><slot />仕組み
- リアクティブ更新: フックは Intlayer の
localeストアを購読します。 - 検出: ロケールが変更されたとき(またはマウント時)に、現在の
window.location.pathnameがリライトルールで定義されたより整ったローカライズ済みエイリアスを持つかを計算します。 - URLの修正: より整ったパスが見つかった場合、フックは
window.history.replaceStateを呼び出して、フルページのリロードや SvelteKit のナビゲーションロジックを発動させることなくアドレスバーを更新します。
なぜ使うのか?
- SEO ベストプラクティス: 検索エンジンが整ったローカライズ版の URL のみをインデックスするようにします。
- Improved UX: 手動で入力されたURLを、好みのネーミング構造に合わせて修正します。
- Silent Updates: コンポーネントツリーやナビゲーション履歴に影響を与えずに、アドレスバーを変更します。