Fitur Ganti Bahasa (i18n)

15 May 2025

Apa itu i18n?

Internationalization (sering disingkat i18n) adalah proses mendesain dan mengembangkan aplikasi sehingga dapat dengan mudah diadaptasi ke berbagai bahasa dan wilayah tanpa perubahan kode besar.

Tujuan

Fitur ganti bahasa membantu:

  • Menjangkau audiens internasional.
  • Meningkatkan pengalaman pengguna (UX).
  • Mempermudah pembelajaran atau dokumentasi multibahasa.

Struktur Folder

Pisahkan post atau konten berdasarkan bahasa:

/_id/      ← post dalam Bahasa Indonesia
/_en/      ← post dalam Bahasa Inggris

Metadata Post

Gunakan slug dan lang agar post lintas bahasa dapat saling dikenali.

Contoh:

slug: pertemuan-9
lang: id

Simpan Pilihan Bahasa

Gunakan JavaScript dan localStorage untuk menyimpan pilihan bahasa pengguna.

localStorage.setItem("lang", "id");

Deteksi Halaman Post

Tambahkan atribut data-slug di <body>:

<body data-slug="pertemuan-9"></body>

Saat pengguna mengganti bahasa:

const slug = document.body.getAttribute("data-slug");
window.location.href = `/${lang}/${slug}.html`;

Penutup

Dengan i18n, website kamu jadi lebih fleksibel dan inklusif untuk semua pengguna.