Mendukung Bahasa Berbeda

Berlatihlah untuk mengekstrak string UI dari kode aplikasi Anda dan simpan di file eksternal. Android mempermudah ini dengan direktori sumber daya di masing-masing proyek Android.

Jika Anda membuat proyek menggunakan Android SDK Tools (bacalah Membuat Proyek Android), alat membuat res/ direktori pada tingkat tinggi proyek. Dalam direktori res/ ini, terdapat subdirektori dari berbagai tipe sumber daya. Ada juga beberapa file default seperti res/values/strings.xmlyang mengandung nilai-nilai string Anda.

Membuat Direktori Lokal dan File String

Untuk menambahkan dukungan untuk lebih banyak bahasa, buat direktori values tambahan dalam res/ yang menyertakan tanda hubung dan kode bahasa ISO di akhir nama direktori . Misalnya, values-es/ adalah direktori yang mengandung sumber daya sederhana untuk Lokal dengan kode bahasa "es". Android memuat sumber daya yang sesuai menurut setelan lokal perangkat pada waktu proses. Untuk informasi selengkapnya, lihat Menyediakan Sumber Daya Alternatif.

Setelah memutuskan bahasa yang Anda akan dukung, buat subdirektori sumber daya dan file sumber daya string. Misalnya:

MyProject/
    res/
       values/
           strings.xml
       values-es/
           strings.xml
       values-fr/
           strings.xml

Tambahkan nilai string untuk masing-masing lokal ke file yang sesuai.

Pada waktu proses, sistem Android menggunakan serangkaian sumber daya string yang sesuai berdasarkan lokal yang ditetapkan untuk perangkat pengguna.

Misalnya, berikut beberapa file sumber daya string yang berbeda untuk berbagai bahasa.

Bahasa Inggris (lokal default) , /values/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">My Application</string>
    <string name="hello_world">Hello World!</string>
</resources>

Bahasa Spanyol, /values-es/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Mi Aplicación</string>
    <string name="hello_world">Hola Mundo!</string>
</resources>

Bahasa Prancis, /values-fr/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Mon Application</string>
    <string name="hello_world">Bonjour le monde !</string>
</resources>

Catatan: Anda dapat menggunakan qualifier lokal (atau qualifier konfigurasi apa saja) pada tipe sumber daya apa saja, misalnya jika Anda ingin menyediakan versi dilokalkan sumber daya dapat digambar bitmap Anda. Untuk informasi selengkapnya, lihat Pelokalan.

Menggunakan Sumber Daya String

Anda dapat mengacu pada sumber daya string Anda di kode sumber dan file XML lainnya menggunakan nama sumber daya yang didefinisikan oleh atribut <string> elemen name.

Di kode sumber, Anda dapat mengacu pada sumber daya string dengan sintaks R.string.<string_name>. Anda berbagai metode yang menerima sumber daya dengan cara ini.

Misalnya:

// Get a string resource from your app's Resources
String hello = getResources().getString(R.string.hello_world);

// Or supply a string resource to a method that requires a string
TextView textView = new TextView(this);
textView.setText(R.string.hello_world);

Di file XML lain, Anda dapat mengacu pada sumber daya string dengan sintaks @string/<string_name> saat atribut XML menerima nilai string.

Misalnya:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />