Penulisan
Teks bawaan seluruh komponen berbahasa Indonesia. Ini aturan yang dipakai untuk menulisnya, dan yang sebaiknya diikuti aplikasi.
Aturan dasar
- Bahasa Indonesia, sentence case. Huruf besar hanya di awal kalimat dan untuk nama atau kode. Tidak ada Title Case, tidak ada HURUF BESAR SEMUA.
- Tanpa kata ganti orang. Teks bawaan library tidak memakai “Anda” maupun “kamu” — “Wajib diisi”, bukan “Anda wajib mengisi ini”. Itu membuat teksnya tetap netral dipakai di aplikasi internal maupun untuk klien. Kalau aplikasi memilih memakai “Anda”, pakai konsisten di seluruh produk.
- Sebutkan objeknya. “Hapus PU-0042?”, bukan “Hapus item ini?”.
- Kata kerja untuk tindakan. Tombol menyebutkan apa yang akan terjadi: “Simpan”, “Tambahkan lokasi”, “Kirim laporan”. Tombol yang membatalkan cukup “Batal”.
- Tanpa tanda seru. Aplikasi kerja tidak perlu bersemangat. Titik di akhir kalimat penuh; tanpa titik untuk label dan judul pendek.
- Istilah teknis tetap Inggris kalau itu yang dipakai orang — pickup, manifest, dashboard. Menerjemahkannya paksa (“penjemputan” untuk nama menu yang di lapangan disebut pickup) justru membuat bingung.
// Sentence case: huruf besar hanya di awal dan untuk nama.
'Tambahkan lokasi' // benar
'Tambahkan Lokasi' // salah — title case
'TAMBAHKAN LOKASI' // salah — dibaca sebagai teriakan, dan lebih
// sulit dipindai mata
// Kode dan singkatan resmi tetap huruf besar.
'PU-0042', 'NPWP', 'TPS Bekasi'Tulis ini, bukan itu
Label tombol
Hapus permanen
OK
Tombol menyebutkan tindakannya, jadi orang tahu apa yang terjadi tanpa membaca ulang pertanyaannya.
Pertanyaan konfirmasi
Hapus PU-0042?
Apakah Anda yakin?
Sebutkan objeknya. “Yakin?” memaksa orang mengingat apa yang tadi mereka klik.
Pesan error
Email penanggung jawab tidak valid.
Error: invalid input
Sebutkan field-nya dan apa yang salah, dalam bahasa yang sama dengan labelnya.
Keadaan kosong
Belum ada data
Tidak ditemukan hasil apa pun!
Kosong karena belum ada isinya berbeda dari kosong karena pencarian. Jangan berseru.
Hint di bawah field
Jadwal pickup dikirim ke alamat ini.
Masukkan email Anda dengan benar
Hint menjelaskan gunanya, bukan mengulang perintah yang sudah jelas dari labelnya.
Placeholder
Pilih lokasi pickup
Lokasi pickup
Placeholder bukan tempat menaruh label. Ia menyebutkan tindakan atau memberi contoh.
Nama tombol ikon
Salin kode referensi
Salin
Satu-satunya yang dibacakan pembaca layar adalah nama itu; sebutkan apa yang disalin.
Kabar setelah aksi
PU-0042 dihapus.
Berhasil!
Sebutkan apa yang berubah. “Berhasil” tidak memberi tahu apa pun yang bisa diperiksa.
Angka, tanggal, dan satuan
- Desimal pakai koma, ribuan pakai titik:
2,1 ton,128.400 kg. Itu yang dilakukanW4cFormCurrencydan yang diharapkanW4cStatCard— komponen tidak memformat sendiri, jadi aplikasi yang harus konsisten. - Tanggal singkat:
21 Sep 2026. Dengan jam:21 Sep 2026, 14.05— jam memakai titik, bukan titik dua. - Satuan dipisah spasi dari angkanya:
2,1 ton,18 kg. Persen menempel:76%. - Rentang pakai en dash tanpa spasi untuk angka:
10–20 ton.
Mengganti teks bawaan
Setiap teks yang digambar komponen bisa diganti lewat props — closeLabel, emptyTitle, placeholder, confirmLabel, dan seterusnya. Jangan membungkus komponen hanya untuk menerjemahkan teksnya, dan jangan menambal lewat CSS.
Kalau sebuah teks bawaan terasa salah untuk semua aplikasi W4C — bukan hanya untuk satu halaman — itu laporan bug untuk library, bukan sesuatu yang ditambal di aplikasi. Bawaannya akan diperbaiki sekali di sini.