Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Riwayat Versi
- "Inisialisasi dokumen"v9.5.519/9/2026
Konten halaman ini diterjemahkan menggunakan AI.
Lihat versi terakhir dari konten aslinya dalam bahasa InggrisJika Anda memiliki ide untuk meningkatkan dokumentasi ini, silakan berkontribusi dengan mengajukan pull request di GitHub.
Tautan GitHub ke dokumentasiSalin Markdown dokumentasi ke clipboard
Dokumentasi Middleware Astro onRequest
Middleware onRequest dari astro-intlayer/middleware menentukan lokal dari setiap permintaan HTTP yang masuk dan mengisi Astro.locals.intlayer.
Ketika Anda mendaftarkan integrasi intlayer() di astro.config.mjs, middleware ini disuntikkan secara otomatis. Anda hanya perlu mengimpornya secara langsung jika menyusun middleware Astro secara manual menggunakan sequence(...).
Penggunaan
Salin kode ke clipboard
Deskripsi
Middleware melakukan operasi berikut:
- Deteksi Lokal:
- URL: Menganalisis awalan jalur URL atau parameter pencarian
?locale=(kecuali jikarouting.modediatur keno-prefix). - Cookie / Header: Memeriksa cookie lokal yang disimpan atau nilai header khusus.
- Accept-Language: Menggunakan negosiasi bahasa preferensi browser jika tidak ada nilai sebelumnya.
- Untuk halaman yang diprerender (
context.isPrerendered), lokal diekstraksi secara ketat dari URL untuk mencegah peringatan proses build Astro.
- URL: Menganalisis awalan jalur URL atau parameter pencarian
- Pengisian Konteks: Mengisi
Astro.locals.intlayerdengan:locale: Lokal yang ditentukan.defaultLocale: Lokal fallback default.availableLocales: Array dari lokal yang dikonfigurasi.
- Cakupan AsyncLocalStorage: Membungkus pemrosesan permintaan hilir di dalam cakupan
AsyncLocalStorage, memungkinkanuseIntlayer(),useDictionary(), danuseLocale()mengakses status permintaan tanpa meneruskan argumen.
Tipe IntlayerLocals
Salin kode ke clipboard
