Intlayerの今後のリリースに関する通知を受け取る

    URLから取得したロケールが誤っている

    問題の説明

    URLからロケールパラメータにアクセスしようとすると、ロケールの値が誤っている問題が発生することがあります:

    const { locale } = await params;console.log(locale); // 期待されるロケールの代わりに "about" を返します

    解決策

    1. ファイル構造の確認

    Next.jsのアプリルーターのパスが以下の構造になっていることを確認してください:

    src/app/[locale]/about/page.tsx

    2. ミドルウェア設定の確認

    この問題は、ミドルウェアが存在しないか、トリガーされていない場合によく発生します。ミドルウェアファイルは以下の場所にある必要があります:

    src/middleware.ts

    このミドルウェアは、prefixDefaultfalse に設定されている場合にルートを書き換える役割を担っています。例えば、/en/about/about に書き換えます。

    3. 設定に基づくURLパターン

    デフォルト設定(prefixDefault: falsenoPrefix: false

    • 英語: /about
    • フランス語: /fr/about
    • スペイン語: /es/about

    prefixDefault: true の場合

    • 英語: /en/about
    • フランス語: /fr/about
    • スペイン語: /es/about

    noPrefix: true の場合

    • 英語: /about
    • フランス語: /about
    • スペイン語: /about

    これらの設定オプションの詳細については、設定ドキュメントを参照してください。