Mengganti Bahasa Aplikasi Android dengan Intent ACTION_LOCAL_SETTING

Suatu aplikasi android yang dibuat oleh developer pastilah (kebanyakan) support minimal dua bahasa. Ambil contoh jika membuat aplikasi di Indonesia, bahasa yang support pastilah Bahasa Indonesia dan Bahasa Inggris. Bahasa Indonesia untuk pengguna local, dan bahasa inggris untuk pengguna diluar Indonesia.

Selain itu suatu aplikasi baik itu mobile ataupun web, support multi language (minumal dua bahasa) sudah menjadi standar tetap di dunia programming. Karna salah satu kategori suatu aplikasi dikatakan user friendly adalah support bahasa local dan bahasa Internasional.

Lalu bagaimana cara menjadikan aplikasi support multi language?

Sebenarnya jika dibedah, ada 2 cara (yang saya pernah lakukan) untuk merubah bahasa pada aplikasi android yang kita buat, antara lain :

  1. Merubah bahasa berdasarkan settingan yang ada pada device itu sendiri
  2. Merubah bahasa tanpa harus mengacu pada settingan device

Pada postingan kali ini saya akan membahas point nomor satu, yaitu merubah bahasa berdasarkan settingan yang ada di device itu sendiri. Untuk point nomor dua saya akan bahas di postingan selanjutnya.

Tidak ada library khusus yang kita gunakan, untuk itu mari ikuti langkah-langkah dibawah ini untuk tahu bagaimana cara merubah bahasa di aplikasi Android

Buat layout XML

Disini saya akan membuat layout sederhana yang hanya menampilkan text dan jenis bahasa yang digunakan saat ini. Silakan kalian ketik kode dibawah ini (atau bisa langsung di implementasikan di project kalian):

activity_main.xml

Kode diatas akan menghasilkan tampilan seperti dibawah ini :

Tampilan layout

Nantinya, ketika mengklik button Ganti Bahasa, akan diarahkan kepengaturan device/HP untuk memilih bahasa yang digunakan.

Perhatikan :

Default bahasa yang saya gunakan di aplikasi ini adalah bahasa indonesia. Agar bisa berubah sesuai dengan bahasa tujuan kita, maka kita harus membuat folder values yang baru beserta kode bahasanya. Berikut caranya :

Piliha package project. Default awal packagenya saat kalian baru pertama kali membuat project adalah package Android. Tujuannya adalah biar kalian bisa tahu berubahannya seperti apa.

Pilih Package Project

Selanjutnya buat folder values baru di directory res, folder letaknya di app/src/main/res . Caranya membuat folder values baru,  klik kanan pada directory res, kemudian pilih new, kemudian pilih directory. Lihat gambar dibawah ini

res/new/directory

*sorry gambar fotoan dari camera, soalnya saya gak tau cara screenshot kalo lagi banyak buka dialog gitu hehe :v gaptek saya mah.

Selanjutnya akan muncul dialog. Buat folder values untuk Bahasa Indonesia yaitu values-in (values : nama folder untuk strings.xml, in : adalah kode bahasa indonesia). Lihat gambar dibawah ini :

Values Bahasa Indonesia

Lakukan hal yang sama untuk folder values bahasa inggris, berikan nama values-en (en : kode bahasa untuk bahasa inggris)

Values Bahasa Inggris

Selanjutkan copy strings.xml yang ada di values (values aja tanpa ada embel2 lainnya), kemudia paste di folder values-in dan values-en. Maka jadinya akan seperti gambar dibawah ini :

Copy strings.xml ke values-in dan values-en

Kemudian kalian translate manual semua bahasa yang ada di strings.xml  nya folder values-en. Tujuannya adalah saat kita mengganti settingan bahasa di pengaturan HP/Device, bahasa di aplikasi  otomatis akan berubah.

Oke, semua persiapan sudah kita lakukan untuk merubah bahasa di aplikasi kita. Sekarang tinggal implementasi kodingan di javanya.

Kodingan di Java

Kodingan dijavanya sedikit, hanya melakukan intent ke settingan HP/device. Lihat kodenya dibawah ini :

new Intent(Setting.ACTION_LOCALE_SETTING) adalah sebuah perintah untuk menuju ke pengaturan bahasa yang ada di HP/Device.

Locale.getDefault().getDisplayLanguage(), adalah perintah untuk menampilkan bahasa yang sekarang digunakan di HP/Device.

Note : Jika kalian memilih bahasa diluar dari bahasa yang kalian siapkan tadi (folder values-in dan values-en), maka bahasanya akan kembali kebahasa default yang digunakan (folder values).

Hasilnya jika saya memilih bahasa inggris, maka semua label akan berubah jadi bahasa inggris :

Hasil akhir

Oke selesai. Jalan programnya, semoga berjalan dengan benar. Disaya works well.

(Visited 325 times, 1 visits today)



Baca juga :


About The Author

Related Posts

Add Comment

Berlangganan Artikel

Untuk mendaftarkan tutorial pemrograman terbaru dari putuguna[dot]com, silakan tuliskan email kalian dibawah ini