ערך Locale שגוי מתקבל מתוך ה-URL
תיאור הבעיה
בעת ניסיון לגשת לפרמטר ה-locale מתוך ה-URL, ייתכן שתיתקל בבעיה שבה ערך ה-locale שגוי:
js
העתקת קוד
העתקת הקוד ללוח
פתרון
1. אימות מבנה הקבצים
ודא שנתיב ה-App Router ב-Next.js עוקב אחר המבנה הבא:
bash
העתקת קוד
העתקת הקוד ללוח
2. בדיקת הגדרות ה-Middleware
הבעיה מתרחשת לעתים קרובות כאשר ה-middleware אינו קיים או אינו מופעל. קובץ ה-middleware צריך להיות ממוקם בנתיב:
bash
העתקת קוד
העתקת הקוד ללוח
קובץ ה-middleware אחראי על שכתוב (rewrite) של נתיבים כאשר prefixDefault מוגדר כ-false. לדוגמה, הוא משכתב את /en/about לנתיב /about.
3. תבניות URL בהתאם להגדרות
הגדרת ברירת מחדל (prefixDefault: false, noPrefix: false)
- אנגלית:
/about - צרפתית:
/fr/about - ספרדית:
/es/about
עם prefixDefault: true
- אנגלית:
/en/about - צרפתית:
/fr/about - ספרדית:
/es/about
עם noPrefix: true
- אנגלית:
/about - צרפתית:
/about - ספרדית:
/about
לפרטים נוספים אודות אפשרויות הגדרה אלו, עיין ב-תיעוד ההגדרות.