Creation:2026-01-22Last update:2026-01-22

    ドキュメント: intlayergetCanonicalPath 関数

    説明

    The getCanonicalPath 関数は、ローカライズされた URL パス(例:/a-propos)を内部の正規アプリケーションパス(例:/about)に解決します。これは、URL の言語に関係なくルーターが正しい内部ルートにマッチさせるために不可欠です。

    主な機能:

    • [param] 構文を使用した動的ルートパラメータをサポートします。
    • 設定で定義されたカスタムリライトルールに対してローカライズされたパスを照合します。
    • 一致するリライトルールが見つからない場合、元のパスを返します。

    関数シグネチャ

    typescript
    getCanonicalPath(  localizedPath: string,         // 必須  locale: Locales,               // 必須  rewriteRules?: RoutingConfig['rewrite'] // 任意): string

    パラメータ

    必須パラメータ

    • localizedPath: string

      • 説明: ブラウザに表示されるローカライズされたパス(例: /a-propos)。
      • : string
      • 必須: はい
    • locale: Locales

      • 説明: 解決対象のパスに使用されるロケール。
      • : Locales
      • 必須: はい

    オプションのパラメーター

    • rewriteRules?: RoutingConfig['rewrite']
      • 説明: カスタムのリライトルールを定義するオブジェクト。指定しない場合、プロジェクトの設定にある routing.rewrite プロパティがデフォルトとして使用されます。
      • : RoutingConfig['rewrite']
      • デフォルト: configuration.routing.rewrite

    戻り値

    • : string
    • 説明: 内部の正規パス。

    使用例

    基本的な使用例(設定あり)

    もし intlayer.config.ts にカスタムリライトを設定している場合:

    typescript
    import { getCanonicalPath, Locales } from "intlayer";// 設定: { '/about': { en: '/about', fr: '/a-propos' } }getCanonicalPath("/a-propos", Locales.FRENCH);// 出力: "/about"getCanonicalPath("/about", Locales.ENGLISH);// 出力: "/about"

    動的ルートでの使用

    typescript
    import { getCanonicalPath, Locales } from "intlayer";// 設定: { '/product/[id]': { en: '/product/[id]', fr: '/produit/[id]' } }getCanonicalPath("/produit/123", Locales.FRENCH);// 出力: "/product/123"

    手動のリライトルール

    関数に手動のリライトルールを渡すこともできます:

    typescript
    import { getCanonicalPath, Locales } from "intlayer";const manualRules = {  "/contact": {    en: "/contact-us",    fr: "/contactez-nous",  },};getCanonicalPath("/contactez-nous", Locales.FRENCH, manualRules);// 出力: "/contact"

    関連関数

    • getLocalizedPath: canonical path をローカライズされた等価パスに解決します。
    • getLocalizedUrl: プロトコル、ホスト、ロケールプレフィックスを含む完全にローカライズされたURLを生成します。