作成:2026-01-22最終更新:2026-01-22

    ドキュメント: intlayergetCanonicalPath 関数

    説明

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

    主な機能:

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

    関数シグネチャ

    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 にカスタムリライトを設定している場合:

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

    動的ルートでの使用

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

    手動のリライトルール

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

    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を生成します。