Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Dokumen ini sudah usang, versi dasar telah diperbarui pada 22 Agustus 2026.
Buka dokumen bahasa InggrisRiwayat Versi
- "Menghapus getIntlayerAsync dari formatters"v6.2.014/10/2025
- "Menambahkan formatters untuk vue"v5.8.020/8/2025
- "Menambahkan dokumentasi formatters"v5.8.018/8/2025
- "Menambahkan dokumentasi list formatter"v5.8.020/8/2025
- "Menambahkan utilitas Intl tambahan (DisplayNames, Collator, PluralRules)"v5.8.020/8/2025
- "Menambahkan utilitas lokal (getLocaleName, getLocaleLang, getLocaleFromPath, dll.)"v5.8.020/8/2025
- "Menambahkan utilitas penanganan konten (getContent, getTranslation, getIntlayer, dll.)"v5.8.020/8/2025
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
Formatters Intlayer
Daftar Isi
Ikhtisar
Intlayer menyediakan serangkaian pembantu ringan yang dibangun di atas API Intl asli, ditambah pembungkus Intl yang di-cache untuk menghindari pembuatan formatter berat berulang kali. Utilitas ini sepenuhnya sadar lokal dan dapat digunakan dari paket utama intlayer.
Untuk React, Vue, dan framework lainnya, gunakan hooks/composables spesifik framework yang secara otomatis terikat ke konteks lokal aplikasi Anda:
Buka tabel dalam modal untuk melihat semua isi data dengan jelas
| Framework | Import |
|---|---|
| React (client) | react-intlayer/format |
| React (server) | react-intlayer/server/format |
| Next.js (client) | next-intlayer/client/format |
| Next.js (server) | next-intlayer/server/format |
| Vue | vue-intlayer/format |
| Preact | preact-intlayer/format |
| Vanilla JS / Node.js | intlayer (memerlukan passing locale manual) |
React Formatters
Impor
Salin kode ke clipboard
Hook yang Tersedia
Semua hook secara otomatis menggunakan locale dari IntlayerProvider atau IntlayerServerProvider.
Buka tabel dalam modal untuk melihat semua isi data dengan jelas
| Hook | Description | Example Output |
|---|---|---|
useNumber() | Format angka dengan pengelompokan | "123,456.789" |
useCurrency() | Format nilai mata uang | "€1,234.50" |
usePercentage() | Format persentase | "25%" |
useDate() | Format tanggal dan waktu | "Aug 2, 2025" |
useRelativeTime() | Format waktu relatif | "in 3 days" |
useUnit() | Format nilai dengan satuan | "5 kilometers" |
useCompact() | Format angka dalam notasi kompak | "1.2K" |
useList() | Format array sebagai daftar | "apple, banana, and orange" |
useIntl() | Dapatkan objek Intl terikat locale | Akses penuh API Intl |
Contoh Lengkap
Salin kode ke clipboard
Hook useIntl
Hook useIntl menyediakan akses langsung ke objek Intl yang terikat pada locale. Ini berguna ketika Anda memerlukan API Intl lengkap (misalnya, DisplayNames, Collator, PluralRules) dengan injeksi locale otomatis.
Salin kode ke clipboard
Vue Formatters
Intl.DisplayNames
Salin kode ke clipboard
Composables yang Tersedia
Semua composables mengembalikan computed refs yang secara otomatis menggunakan locale dari IntlayerProvider yang diinjeksi.
Buka tabel dalam modal untuk melihat semua isi data dengan jelas
| Composable | Deskripsi | Contoh Output |
|---|---|---|
useNumber() | Format angka dengan pengelompokan | "123,456.789" |
useCurrency() | Format nilai mata uang | "€1,234.50" |
usePercentage() | Format persentase | "25%" |
useDate() | Format tanggal dan waktu | "Aug 2, 2025" |
useRelativeTime() | Format waktu relatif | "in 3 days" |
useUnit() | Format nilai dengan unit | "5 kilometers" |
useCompact() | Format angka dalam notasi kompak | "1.2K" |
useList() | Format array sebagai daftar | "apple, banana, and orange" |
useIntl() | Dapatkan objek Intl terikat locale | Akses API Intl lengkap |
Contoh Lengkap
Salin kode ke clipboard
Intl.Collator
Untuk perbandingan dan pengurutan string yang sadar lokal:
Salin kode ke clipboard
Vanilla JS / Node.js Formatters
Untuk konteks non-framework, impor formatter langsung dari intlayer. Perhatikan bahwa Anda harus melewatkan locale secara manual.
Intl.PluralRules
Salin kode ke clipboard
Fungsi Formatter
number(value, options?)
Memformat nilai numerik menggunakan pengelompokan dan desimal yang menyadari lokal.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Salin kode ke clipboard
percentage(value, options?)
Memformat angka sebagai string persentase. Nilai lebih besar dari 1 dinormalisasi (misalnya, 25 → 25%, 0.25 → 25%).
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Salin kode ke clipboard
currency(value, options?)
Memformat nilai sebagai mata uang yang dilokalisasi. Default ke USD.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Common:
currency,currencyDisplay("symbol" | "code" | "name")
- Common:
Salin kode ke clipboard
date(date, optionsOrPreset?)
Memformat nilai tanggal/waktu.
- date:
Date | string | number - optionsOrPreset:
Intl.DateTimeFormatOptions & { locale?: LocalesValues }atau preset:"short" | "long" | "dateOnly" | "timeOnly" | "full"
Salin kode ke clipboard
relativeTime(from, to?, options?)
Memformat waktu relatif antara dua momen.
- from:
Date | string | number - to:
Date | string | number(default kenew Date()) - options:
{ locale?, unit?, numeric?, style? }
Salin kode ke clipboard
units(value, options?)
Memformat nilai numerik dengan unit.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Common:
unit(e.g.,"kilometer","byte"),unitDisplay("short" | "narrow" | "long")
- Common:
Salin kode ke clipboard
compact(value, options?)
Memformat angka menggunakan notasi kompak.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Salin kode ke clipboard
list(values, options?)
Memformat array menjadi string list yang terlokalisasi.
- values:
(string | number)[] - options:
Intl.ListFormatOptions & { locale?: LocalesValues }- Common:
type("conjunction" | "disjunction" | "unit"),style("long" | "short" | "narrow")
- Common:
Salin kode ke clipboard
Cached Intl
Intl yang diekspor dari intlayer adalah wrapper yang di-cache di sekitar Intl global. Ini memoizes instance formatter (NumberFormat, DateTimeFormat, dll.) untuk menghindari pengulangan konstruksinya, meningkatkan performance.
Salin kode ke clipboard
Fitur Intl Tambahan
Intl.DisplayNames
Untuk nama-nama terlokalisasi dari bahasa, region, mata uang, dan skrip:
Salin kode ke clipboard
Intl.Collator
Untuk perbandingan dan pengurutan string yang peka terhadap locale:
Salin kode ke clipboard
Intl.PluralRules
Untuk menentukan bentuk plural dalam lokal yang berbeda:
Salin kode ke clipboard
Utilitas Locale
getLocaleName(displayLocale, targetLocale?)
Mendapatkan nama yang dilokalkan dari sebuah locale dalam locale lain:
Salin kode ke clipboard
getLocaleLang(locale?)
Mengambil kode bahasa dari string locale:
Salin kode ke clipboard
getLocaleFromPath(inputUrl)
Mengambil segmen locale dari URL atau pathname:
Salin kode ke clipboard
getPathWithoutLocale(inputUrl, locales?)
Menghapus segmen locale dari URL atau pathname:
Salin kode ke clipboard
getLocalizedUrl(url, currentLocale, locales?, defaultLocale?, prefixDefault?)
Menghasilkan URL yang dilokalkan untuk locale saat ini:
Salin kode ke clipboard
getHTMLTextDir(locale?)
Mengembalikan arah teks untuk sebuah locale:
Salin kode ke clipboard
Utilitas Penanganan Konten
getContent(node, nodeProps, locale?)
Mengubah node konten dengan semua plugin yang tersedia (terjemahan, enumerasi, penyisipan, dll.):
Salin kode ke clipboard
getTranslation(languageContent, locale?, fallback?)
Mengambil konten untuk locale tertentu dari objek konten bahasa:
Salin kode ke clipboard
getIntlayer(dictionaryKey, locale?, plugins?)
Mengambil dan mengubah konten dari kamus berdasarkan kunci:
Salin kode ke clipboard
Catatan
- Semua helper menerima input
string; secara internal akan dikonversi menjadi angka atau tanggal. - Locale default adalah
internationalization.defaultLocaleyang telah Anda konfigurasi jika tidak disediakan. - Utilitas ini adalah pembungkus tipis; untuk pemformatan lanjutan, gunakan opsi standar
Intl.
