Locale yang Salah Diambil dari URL
Deskripsi Masalah
Saat mencoba mengakses parameter locale dari URL, Anda mungkin mengalami masalah di mana nilai locale yang didapatkan salah:
const { locale } = await params;console.log(locale); // mengembalikan "about" alih-alih locale yang diharapkanSolusi
1. Verifikasi Struktur File
Pastikan path router aplikasi Next.js Anda mengikuti struktur ini:
src/app/[locale]/about/page.tsx2. Periksa Konfigurasi Middleware
Masalah ini sering terjadi ketika middleware tidak ada atau tidak dijalankan. File middleware harus berada di:
src/middleware.tsMiddleware ini bertanggung jawab untuk menulis ulang rute ketika prefixDefault disetel ke false. Misalnya, ia menulis ulang /en/about menjadi /about.
3. Pola URL Berdasarkan Konfigurasi
Konfigurasi Default (prefixDefault: false, noPrefix: false)
- Bahasa Inggris: /about
- Bahasa Prancis: /fr/about
- Bahasa Spanyol: /es/about
Dengan prefixDefault: true
- Bahasa Inggris: /en/about
- Bahasa Prancis: /fr/about
- Bahasa Spanyol: /es/about
Dengan noPrefix: true
- Bahasa Inggris: /about
- Bahasa Prancis: /about
- Bahasa Spanyol: /about
Untuk detail lebih lanjut tentang opsi konfigurasi ini, lihat Dokumentasi Konfigurasi.