Kembali ke daftar artikel
08 Juni 20262 menit baca

Mengelola Konten Bilingual di Backend dengan Field Lang

Penjelasan sederhana tentang cara mendukung konten dua bahasa di backend menggunakan field lang, default bahasa Indonesia, dan query parameter untuk bahasa Inggris.

Catatan editorial

Artikel ini menjelaskan cara sederhana mengelola konten bilingual di backend menggunakan field lang dan query parameter.

Bahas kolaborasi
Mengelola Konten Bilingual di Backend dengan Field Lang

Kenapa Konten Bilingual Perlu Diatur dari Backend

Jika frontend mendukung bahasa Indonesia dan Inggris, backend juga perlu menyediakan data sesuai bahasa yang dipilih. Jika tidak, frontend hanya bisa mengganti label UI, tetapi isi konten tetap satu bahasa.

Untuk web profile, data seperti profile, project, service, article, link, dan product sebaiknya punya dukungan bahasa agar pengalaman user lebih konsisten.

Menggunakan Field Lang

Cara sederhana untuk mendukung bilingual adalah menambahkan field lang pada tabel konten. Nilainya bisa id untuk bahasa Indonesia dan en untuk bahasa Inggris.

Dengan pola ini, satu tabel bisa menyimpan data untuk dua bahasa. Frontend cukup mengirim query parameter seperti lang=en jika ingin mengambil data bahasa Inggris.

Default Bahasa

Default bahasa sebaiknya tetap id. Ini penting agar frontend lama yang belum mengirim query lang tetap berjalan tanpa error.

Contoh:

  • Tanpa query lang: ambil data id.
  • Dengan ?lang=en: ambil data en.
  • Dengan ?lang=xx: fallback ke id.

Cara Kerja di Repository

Repository perlu menambahkan filter WHERE lang = value pada endpoint read. Untuk detail data, filter id dan lang digunakan bersamaan agar data yang dikembalikan sesuai bahasa.

Contoh alur:

  1. Frontend memanggil /projects?lang=en.
  2. Service membaca query lang.
  3. Repository mengambil project dengan lang en.
  4. Backend mengembalikan data bahasa Inggris.

Keuntungan Pola Ini

  • Implementasi sederhana.
  • Frontend mudah mengontrol bahasa.
  • Data ID dan EN bisa berbeda.
  • Tidak perlu translate otomatis saat runtime.
  • Cocok untuk konten yang butuh editorial manual.

Hal yang Perlu Diperhatikan

Data Harus Lengkap

Jika data bahasa Inggris belum dibuat, endpoint lang=en bisa kosong. Karena itu, seed atau admin CMS perlu mendukung input dua bahasa.

Slug Bisa Berbeda

Untuk article, slug bahasa Indonesia dan Inggris bisa berbeda. Ini lebih baik untuk SEO karena URL bisa disesuaikan dengan bahasa masing-masing.

Kesimpulan

Field lang adalah solusi sederhana dan efektif untuk backend bilingual. Dengan default id dan query lang=en, frontend bisa mendukung dua bahasa tanpa merusak behavior lama.