Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Riwayat Versi
- "Riwayat awal"v9.7.13/11/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
Plugin Prettier
prettier-plugin-intlayer menyusun kunci terjemahan Anda dalam urutan tetap setiap kali Prettier memformat file. Diff tetap kecil, konflik penggabungan (merge conflicts) berkurang, dan locale yang hilang mudah ditemukan.
Salin kode ke clipboard
Instalasi
Salin kode ke clipboard
Memerlukan Prettier versi 3 atau lebih baru.
Jika proyek Anda sudah menggunakan Prettier, intlayer init prettier akan menginstal plugin dan menambahkannya ke konfigurasi Anda secara otomatis.
Penggunaan
Tambahkan plugin ke konfigurasi Prettier Anda:
Salin kode ke clipboard
Untuk menerapkannya hanya pada file deklarasi konten, gunakan override:
Salin kode ke clipboard
Apa yang diurutkan
t(): locale
Locale yang disematkan (pinned) ditempatkan pertama (en secara default). Locale lainnya mengikuti dalam urutan abjad.
Salin kode ke clipboard
plural(): urutan CLDR
Kategori diurutkan dari kuantitas terkecil hingga fallback: zero, one, two, few, many, other.
Salin kode ke clipboard
enu(): ambang batas meningkat
Kondisi diurutkan berdasarkan angkanya, kemudian berdasarkan operator (<1, <=1, 1, >=1, >1). fallback diletakkan paling akhir.
Salin kode ke clipboard
Saat runtime, kondisi cocok pertama yang menang. Plugin menerapkan urutan baru hanya jika setiap kuantitas tetap menghasilkan konten yang sama. Ketika urutan menentukan hasil akhir, objek dibiarkan seperti yang ditulis. Misalnya, dalam { '<1': …, '<=-2.3': … } kunci '<1' menangkap setiap angka negatif.
select(): abjad
Setiap case diurutkan menurut abjad dan fallback ditempatkan di akhir.
Salin kode ke clipboard
Tanpa kunci fallback atau other, case terakhir digunakan sebagai fallback. Case tersebut tetap di akhir dan hanya case sebelumnya yang diurutkan.
File .content.json
Bentuk serial diurutkan dengan cara yang sama: { "nodeType": "translation", "translation": { … } }, serta node plural, enumeration, dan select.
Kunci konten (opsional)
Dengan intlayerSortContentKeys: true, plugin juga mengurutkan kunci content kamus berdasarkan abjad di setiap tingkat hierarki. Ini hanya berlaku pada file *.content.*.
Salin kode ke clipboard
Pengurutan berlanjut melalui setiap fungsi pembantu (t, plural, enu, select, cond, gender, md, insert, nest, file…) untuk mencapai objek di dalamnya. Struktur kunci internal masing-masing helper mempertahankan urutannya sendiri. Kunci yang diberikan ke cond() dan gender() tidak pernah diubah urutannya karena kunci terakhir berfungsi sebagai fallback. Bidang yang berada di samping content (key, title, locale…) tetap seperti semula.
Opsi
Buka tabel dalam modal untuk melihat semua isi data dengan jelas
| Opsi | Default | Deskripsi |
|---|---|---|
intlayerPinnedLocales | ["en"] | Locale yang dipertahankan pertama di t(), dalam urutan ini. Berikan [] untuk mengurutkan semua locale. |
intlayerSortContentKeys | false | Dalam file *.content.*, urutkan juga kunci konten kamus dan objek bertingkat. |
Apa yang dibiarkan tidak berubah
- Objek yang berisi spread (
...base), computed key ([key]), method, atau kunci duplikat. - Pemetaan
plural()dengan kunci yang bukan kategori CLDR. - Pemetaan
enu()yang jika urutannya diubah akan mengubah konten yang diselesaikan. - Panggilan ke fungsi lain yang bernama mirip helper tetapi menerima argumen bukan objek.
Komentar berpindah bersama kunci tempat mereka berada.
Parser yang didukung
babel, babel-flow, babel-ts, typescript, flow, acorn, espree, meriyah, json, json5, dan jsonc. Blok <script> pada file Vue, Svelte, dan Astro diformat dengan parser ini.
Batasan umum. Prettier hanya menjalankan satu plugin per parser. Jika plugin lain juga menggantikan parser JavaScript/TypeScript (misalnyaprettier-plugin-tailwindcss), hanya plugin terakhir yang tercantum yang akan diterapkan pada file tersebut. Batasi cakupanprettier-plugin-intlayerke file*.content.*dengan override untuk menghindari konflik.
