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 Hook useLocale
Hook useLocale dari astro-intlayer menyediakan akses ke lokal permintaan saat ini, lokal default yang dikonfigurasi, dan semua lokal yang tersedia dalam aplikasi Astro.
Hook ini berperilaku konsisten di seluruh frontmatter .astro yang dirender server dan blok <script> sisi klien.
Penggunaan
Di Frontmatter Komponen (Dirender di Server)
Salin kode ke clipboard
Di <script> Klien (Interaktif)
Salin kode ke clipboard
Nilai yang Dikembalikan
Hook ini mengembalikan objek bertipe UseLocaleResult:
Buka tabel dalam modal untuk melihat semua isi data dengan jelas
| Properti | Tipe | Deskripsi |
|---|---|---|
locale | DeclaredLocales | Lokal yang sedang aktif. |
defaultLocale | DeclaredLocales | Lokal fallback default yang dikonfigurasi dalam intlayer.config.ts. |
availableLocales | DeclaredLocales[] | Array semua lokal yang didukung dan dikonfigurasi untuk proyek. |
setLocale | (locale: LocalesValues) => void | Fungsi untuk memperbarui lokal. (Interaktif di <script> klien, memunculkan peringatan saat SSR). |
subscribe | (callback: () => void) => () => void | Berlangganan perubahan lokal di sisi klien. |
Perilaku Server vs Klien
- Selama SSR / Render Server: Permintaan dirender sekali dengan parameter tetap. Memanggil
setLocale()selama render server tidak berpengaruh dan mengeluarkan peringatan; peralihan lokal harus dilakukan di klien atau dengan menavigasi ke URL lokal tujuan. - Dalam Skrip Klien:
setLocalememperbarui store klien dan memperbarui cookie atau local storage yang disimpan sesuai konfigurasi Intlayer Anda.
