Otrzymuj powiadomienia o nadchodzących wydaniach Intlayera

    Niepoprawny lokalizator pobrany z URL

    Opis problemu

    Podczas próby uzyskania parametru locale z URL możesz napotkać problem, gdzie wartość locale jest niepoprawna:

    const { locale } = await params;console.log(locale); // zwraca "about" zamiast oczekiwanego lokalizatora

    Rozwiązanie

    1. Sprawdź strukturę plików

    Upewnij się, że ścieżka routera aplikacji Next.js ma następującą strukturę:

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

    2. Sprawdź konfigurację middleware

    Problem często występuje, gdy middleware nie jest obecny lub nie jest wywoływany. Plik middleware powinien znajdować się w lokalizacji:

    src/middleware.ts

    Ten middleware odpowiada za przepisywanie tras, gdy prefixDefault jest ustawione na false. Na przykład, przepisuje /en/about na /about.

    3. Wzorce URL w zależności od konfiguracji

    Domyślna konfiguracja (prefixDefault: false, noPrefix: false)

    • Angielski: /about
    • Francuski: /fr/about
    • Hiszpański: /es/about

    Z prefixDefault: true

    • Angielski: /en/about
    • Francuski: /fr/about
    • Hiszpański: /es/about

    Z noPrefix: true

    • Angielski: /about
    • Francuski: /about
    • Hiszpański: /about

    Aby uzyskać więcej informacji na temat tych opcji konfiguracji, zobacz Dokumentację Konfiguracji.