Membuat Situs Dwibahasa dengan Laravel: Pelajaran dari Portofolio Ini

Portofolio ini tersedia dalam bahasa Indonesia dan Inggris, dan keduanya sengaja dipisah: halaman Inggris tidak boleh berisi teks Indonesia, begitu pula sebaliknya. Untuk mencapainya di Laravel, ada beberapa keputusan yang akan saya ambil lagi dengan cara yang sama.

Taruh bahasa di URL

Setiap halaman publik berada di bawah /id/... atau /en/.... Pengunjung, tautan, dan mesin pencari bisa tahu bahasa halaman hanya dari membaca alamatnya. URL akar cukup mengalihkan ke yang tepat dengan memakai pilihan yang tersimpan lebih dulu, lalu bahasa browser, lalu Indonesia sebagai bawaan. Sebuah middleware kecil menetapkan locale aplikasi dari URL dan menjadikan bahasa bagian dari setiap tautan yang dihasilkan, sehingga kode tidak perlu meneruskannya secara manual.

Satu kolom per bahasa

Untuk konten di database, seperti proyek, sertifikat, event, dan artikel, setiap kolom yang bisa diterjemahkan punya kolom dasar bahasa Inggris dan kolom _id. Sebuah trait kecil mengembalikan versi untuk bahasa saat ini dan memberi tahu apakah terjemahannya ada. Itu menjaga formulir admin tetap sederhana: dua kolom berdampingan, tanpa tabel terjemahan terpisah.

Jangan tampilkan yang tidak bisa diterjemahkan

Kesalahan yang mudah adalah beralih ke bahasa lain saat terjemahan tidak ada. Begitulah teks Indonesia berakhir di halaman Inggris. Di sini, daftar dan halaman hanya menampilkan konten yang ada dalam bahasa halaman, dan artikel yang hanya ada dalam satu bahasa dialihkan dari alamat bahasa lain, bukan menampilkan campuran.

Beri tahu mesin pencari tentang pasangannya

Dengan dua versi sebuah halaman, mesin pencari perlu tahu bahwa keduanya berpasangan. Setiap halaman menyatakan alamat kanonisnya dan tautan hreflang ke kedua versi, dan sitemap mencantumkan setiap versi beserta alternatifnya. Begitulah pencari berbahasa Indonesia diperlihatkan halaman Indonesia dan pencari berbahasa Inggris halaman Inggris.

Terjemahkan juga hal-hal kecil

Judul halaman, deskripsi meta, pesan formulir, tanggal, bahkan nama sertifikat butuh versi per bahasa. Mudah terlupa dan jelas terlihat oleh pembaca.

Yang akan saya sampaikan kepada pemula

  1. Tentukan struktur URL lebih dulu dan jaga konsistensinya.
  2. Simpan terjemahan di samping kontennya, bukan di sistem terpisah.
  3. Lebih baik menampilkan lebih sedikit dalam satu bahasa daripada menampilkan campuran.
  4. Pasang hreflang dan tautan kanonis sejak hari pertama.
← Semua tulisan