Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Riwayat Versi
- "Tanpa locale, me-resolve locale request atau locale tersimpan sebelum locale default"v9.5.1228/9/2026
- "Dokumentasi awal"v9.4.023/8/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: Fungsi getIntlayer di intlayer
Deskripsi
Fungsi getIntlayer memilih satu kamus berdasarkan kuncinya dan mengembalikan isinya yang diinterpretasikan untuk lokal yang diberikan. Ini adalah pasangan yang independen dari kerangka kerja dari hook useIntlayer: konten yang sama, pemilih yang sama, tetapi dapat digunakan di mana pun konteks React tidak tersedia, skrip Node, fungsi server, pemuat rute, pembuat metadata, penangan Express/Fastify, tes.
Ini membaca kamus yang dihasilkan oleh Intlayer di .intlayer/, jadi argumen key diketik dan selesai otomatis dari deklarasi konten Anda sendiri, dan objek yang dikembalikan sepenuhnya diketik hingga setiap daun.
Fitur Utama:
- Kunci kamus yang diketik dan konten yang dikembalikan diketik
- Menginterpretasikan setiap node konten (
t(),enu(),cond(),insert(),nest(),md(),html(),file(),gender()) - Menerima lokal atau objek pemilih (koleksi, varian)
- Hasil di-cache per
key + locale + selector - Kembali ke proksi yang aman dalam pengembangan ketika kamus hilang, alih-alih mengalami kegagalan
Signature Fungsi
Salin kode ke clipboard
Parameter
key: DictionaryKeys- Deskripsi: Kunci kamus yang akan dibaca, seperti yang dideklarasikan dalam file konten Anda.
- Tipe:
DictionaryKeys, sebuah union dari setiap kunci kamus yang dideklarasikan. - Diperlukan: Ya
localeOrSelector: LocalesValues | DictionarySelector- Deskripsi: Locale untuk menginterpretasi konten dengan, atau objek selector untuk dynamic dictionaries.
'fr': sebuah locale{ item: 2 }: sebuah collection item (abaikanitemuntuk mendapatkan setiap item sebagai array){ variant: 'black-friday' }: sebuah variant bernama (abaikan untuk yangdefault){ variant: { id: 'prod_abc', userId: '123' } }: sebuah variant terstruktur- Setiap selector dapat membawa sebuah locale:
{ item: 2, locale: 'fr' }
- Tipe:
LocalesValues | DictionarySelector - Diperlukan: Tidak (opsional). Jika dihilangkan, lihat Tanpa locale.
- Deskripsi: Locale untuk menginterpretasi konten dengan, atau objek selector untuk dynamic dictionaries.
plugins: Plugins[]- Deskripsi: Custom node transformers menggantikan plugin interpreter dasar. Penggunaan lanjutan saja; abaikan ini untuk mempertahankan perilaku default.
- Tipe:
Plugins[] - Diperlukan: Tidak (Opsional)
Returns
- Tipe: Konten dictionary yang diinterpretasi, diketik dari deklarasi Anda.
- Deskripsi: Objek biasa yang mencerminkan bidang
contentdari dictionary Anda, di mana setiap node Intlayer telah diselesaikan ke nilai akhirnya untuk locale yang diminta.
Contoh Penggunaan
Penggunaan Dasar
Salin kode ke clipboard
Salin kode ke clipboard
import { getIntlayer } from "intlayer";
const { title } = getIntlayer("app", "fr"); // "Bonjour"
Tanpa locale
Ketika tidak ada locale yang diberikan, getIntlayer tidak langsung beralih ke locale default. Fungsi ini me-resolve secara berurutan:
- Locale dari request saat ini, di server, ketika sebuah integrasi Intlayer menanganinya: middleware
express-intlayer,fastify-intlayer,hono-intlayer,adonis-intlayer, danelysia-intlayer, middlewareremix-intlayerdanastro-intlayer, sertaIntlayerProvider/setLocaledi React Server Components. Setiap request di-resolve dari cookies dan headers miliknya sendiri, sehingga pengguna yang bersamaan tidak pernah berbagi locale. - Locale yang tersimpan di browser (cookie,
localStorage,sessionStorage), yaitu yang disimpan oleh locale switcher. defaultLocaleyang dideklarasikan di konfigurasi Anda.
Salin kode ke clipboard
Resolusi yang sama berlaku untuk getDictionary, untuk pemanggilan yang ditulis ulang oleh plugin build, dan untuk useIntlayer / useDictionaryDynamic yang di-render di luar provider. Locale yang diberikan secara eksplisit selalu diutamakan.
getIntlayer tidak reaktif: setelah locale berubah, panggil lagi untuk membaca locale baru. Pada halaman yang di-render di server, pemanggilan di luar provider mana pun me-render locale default di server dan locale tersimpan di browser, yang dapat menyebabkan hydration mismatch. Dalam kasus itu, pasang provider framework Anda atau berikan locale-nya.
Di dalam server handler
Salin kode ke clipboard
Dengan selector (koleksi dan varian)
Salin kode ke clipboard
Catatan Perilaku
Caching
Hasil disimpan dalam cache tingkat modul dengan kunci key + locale + selector. Memanggil getIntlayer("app", "fr") berulang kali menginterpretasi dictionary sekali dan mengembalikan objek yang sama setelahnya.
Kamus yang Hilang
Dalam pengembangan, meminta kunci yang tidak memiliki kamus yang dihasilkan mencatat peringatan sekali dan mengembalikan proxy fallback yang aman: membaca content.title menghasilkan string "app.title" alih-alih melempar. Ini membuat halaman tetap dapat digunakan sementara deklarasi yang hilang diperbaiki. Jalankan build Intlayer (atau dev server) agar kamus dihasilkan.
Ukuran Bundle
getIntlayer membaca dictionary yang digabungkan, yang menyimpan setiap locale. Dalam client bundles, build plugins menulis ulang panggilan sehingga hanya konten yang diperlukan yang dikirim. Ketika Anda membaca konten di luar rendering (metadata, loaders, server functions) dan ingin satu locale dimuat sesuai permintaan, gunakan getIntlayerAsync sebagai gantinya.
Fungsi Terkait
TypeScript
Salin kode ke clipboard
