Mengganti Bahasa dalam Aplikasi Android

Contoh Kasus:

Saya mempunyai activity yang bernama MenuUtama.java dengan tampilan seperti dibawah ini:

Saat saya klik tombol Language maka tampil activity Bahasa.java dengan tampilan seperti terlihat dibawah ini:

Dalam pilihan Spinner diatas terdapat dua pilihan yaitu Bahasa Inggris dan Bahasa Indonesia

Keinginan:

Bagaimana caranya mengganti bahasa dengan memilih salah satu pilihan diatas dan menekan tombol OK.

Pertanyaan:

Bagaimana cara melakukannya … ?

Jawaban:

Perubahan dalam File Bahasa.java

Ketika tombol OK diklik maka masukkan kode berikut ini:

finish(); 

Intent it=new Intent(Bahasa.this, MenuUtama.class);

it.putExtra(“posisi”, “”+posisi);

startActivity(it);

Keterangan:

  • Variabel posisi diperoleh dari angka index saat kita pilih item dari objek Spinner yaitu index 0 untuk “Bahasa Inggris” dan index 1 untuk “Bahasa Indonesia”.

Perubahan dalam File MenuUtama.java

Pada Metode onCreate() maka masukkan kode berikut ini:

if( getIntent().getStringExtra(“posisi”) != null){ 

String bahasa=”nol”;

Locale locale;

Configuration config;

if(getIntent().getStringExtra(“posisi”).equals(“0”))

bahasa=”en_us”;

else

bahasa=”ID”;

locale = new Locale(bahasa);

Locale.setDefault(locale);

config = new Configuration();

config.locale = locale;

getBaseContext().getResources().updateConfiguration(config,null);

setContentView(R.layout.menu_utama);

}else{

setContentView(R.layout.menu_utama);

}

cariAngkot = (Button)findViewById(R.id.ImageButton01);

cariAngkot.setText(R.string.menu_cari_angkot);

Keterangan:

  • cariAngkot.setText(R.string.menu_cari_angkot), Kode ini akan memberikan teks kepada objek button cariAngkot dengan teks yang diambil dari file strings.xml dari folder res/values ataupun res/values-in

Pembuatan String untuk Bahasa Inggris

Bukalah file res/values/strings.xml maka buatlah String seperti terlihat pada gambar dibawah ini:

Pembuatan String untuk Bahasa Indonesia

Kopi folder res/values menjadi res/values-in

Llau bukalah file res/values-in/strings.xml maka rubahlah String menu_cari_angkot menjadi seperti terlihat pada gambar dibawah ini:

Perubahan File AndroidManifest.xml

Kamu hanya tambahkan kode android:configChanges=”locale” pada setiap activity seperti terlihat pada kode dibawah ini:

<activity android:name=”.MenuUtama” android:label=”@string/app_name” 

android:configChanges=”locale” android:theme=”@android:style/Theme.NoTitleBar”>

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

<activity android:name=”.CariAngkot”  android:configChanges=”locale” android:label=”@string/menu_cari_angkot”/>

 

Keterangan:

Untuk perubahan locale bahasa itu cukup sekali saja, dalam bahasan ini terjadi dalam file MenuUtama.java dan untuk file-file lainnya hanya mengikuti perubahan yang sudah terjadi dan hanya mensetting android:configChanges=”locale” dalam file AndroidManifest.xml saja.

Hasil:

Silahkan dicoba dan lihat hasilnya.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *