Erhalten Sie Benachrichtigungen über kommende Intlayer-Veröffentlichungen

    Falsche Locale aus URL abgerufen

    Problembeschreibung

    Beim Versuch, den Locale-Parameter aus der URL abzurufen, kann es vorkommen, dass der Locale-Wert falsch ist:

    const { locale } = await params;console.log(locale); // gibt "about" zurück anstelle der erwarteten Locale

    Lösung

    1. Überprüfen Sie die Dateistruktur

    Stellen Sie sicher, dass Ihr Next.js App-Router-Pfad dieser Struktur folgt:

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

    2. Überprüfen Sie die Middleware-Konfiguration

    Das Problem tritt häufig auf, wenn die Middleware nicht vorhanden ist oder nicht ausgelöst wird. Die Middleware-Datei sollte sich befinden unter:

    src/middleware.ts

    Diese Middleware ist verantwortlich für das Umschreiben von Routen, wenn prefixDefault auf false gesetzt ist. Zum Beispiel schreibt sie /en/about in /about um.

    3. URL-Muster basierend auf der Konfiguration

    Standardkonfiguration (prefixDefault: false, noPrefix: false)

    • Englisch: /about
    • Französisch: /fr/about
    • Spanisch: /es/about

    Mit prefixDefault: true

    • Englisch: /en/about
    • Französisch: /fr/about
    • Spanisch: /es/about

    Mit noPrefix: true

    • Englisch: /about
    • Französisch: /about
    • Spanisch: /about

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

    - Spanisch: `/es/about`#### Mit `noPrefix: true`- Englisch: `/about`- Französisch: `/about`- Spanisch: `/about`Für weitere Details zu diesen Konfigurationsoptionen siehe die [Konfigurationsdokumentation](/de/doc/concept/configuration).