Membuat Aplikasi Mendukung Banyak Bahasa (Support Multi Language) di Android Studio

Halo sobat androidrion, bagaimana kabar kalian semua hari ini? Saya harap kalian semua dalam keadaan yang baik-baik saja. Pada kesempatan kali ini, saya akan membagikan trik Agar Aplikasi Android mendukung banyak bahasa atau Support Multi Language di Android Studio.

Android adalah salah satu sistem operasi perangkat ponsel populer yang memiliki jutaan pengguna di lebih dari 190 negara dan terus bertambah dari hari ke hari. Jika kalian bertujuan agar aplikasi kalian sukses secara global, maka ide yang baik untuk membuat aplikasi dilokalkan (localized). Saat localized, Anda harus mempertimbangkan untuk menggunakan teks, audio, mata uang, angka dan grfik yang sesuai tergantung pada wilayah atau negara. Tapi, di tutorial ini saya hanya localized string saja untuk berubah bahasa.

Pada tutorial ini kita akan membuat aplikasi yang mendukung bahasa Inggris dan bahasa Indonesia.

Cara Kerja Localization String

Secara default, android menganggap bahasa inggris sebagai bahasa utama. Di Android Studio versi 4.2.1, Saat kalian ingin menambahkan dukungan untuk bahasa lain, kalian perlu membuat file strings.xml dalam folder value yang akan secara otomatis akan menampilkan kode bahasa ISO. Misalnya, jika kalian ingin menambahkan dukungan untuk bahasa Prancis, kalian harus membuat file strings.xml (fr) dan menyimpan di dalamnya dengan semua string yang diterjemahkan ke dalam bahasa Prancis.

Singkatnya, localization berfungsi sebagai berikut:

  1. Saat pengguna mengubah bahasa perangkat melalui Pengaturan Bahasa & Output, OS Android akan memeriksa resource bahasa yang sesuai di aplikasi. (Misalnya pengguna memilih bahasa Prancis)
  2. Jika aplikasi mendukung bahasa yang dipilih, Android mencari resource string-nya di folder values dengan nama file strings.xml (kode bahasa ISO).
  3. Jika strings.xml bahasa yang didukung melewatkan nilai string apa pun, Android selalu memuat string yang hilang dari file strings.xml default.

Jadi, file strings.xml default harus berisi semua nilai string yang digunakan aplikasi. Jika tidak, aplikasi akan force close.

Yang Perlu Kalian Lakukan:

Selalu deklarasikan string di strings.xml saja. Contoh:

<string name="fullname">Fullname</string>

Saat memanggil dalam file layout xml, gunakan notasi @strings. Contoh:

<Edittext  ...  android:text="@string/fullname"    />

Saat mendefinisikan string melalui kode java, gunakan R.string. Contoh:

edittext.setText(R.string.fullname);

Yang Tidak Boleh Kalian Lakukan:

Jangan pernah membuat hard code string di dalam file layout xml atau kode java yang membuat terjemahan menjadi sulit. Contoh:

<Edittext  ...  android:text="Nama Lengkap"    />
edittext.setText("Nama Lengkap");

Setelah kalian memahami di atas, sekarang saatnya kita membuat projek baru dan mencoba dengan sebuah contoh.

Membuat Aplikasi Support Multi Language / Mendukung Banyak Bahasa di Android Studio

Buatlah projek android studio baru dengan detail seperti di bawah ini.

Application Name:Multi Language
Package Name:com.androidrion.multilanguage
Languge:Java
Minimum SDK:API 16: Android 4.1 (JellyBean)

Dibawah ini adalah langkah-langkah pembuatan aplikasi Multi Language

Strings File

Buka file strings.xml dalam folder res>values lalu tambahkan nama string yg ingin kalian gunakan dalam projek aplikasi kalian. Berikut ini string yang saya gunakan.

app>res>values>strings.xml

<resources>
    <string name="app_name">Multi Language</string>
    <string name="fullname">Fullname</string>
    <string name="username">Username</string>
    <string name="email_address">Email Address</string>
    <string name="password">Password</string>
    <string name="register">Register</string>
    <string name="title">Register your account now</string>
    <string name="subtitle">To use this application, you are required to register an account.</string>
</resources>

Sekarang kita akan menambahkan file strings.xml untuk Bahasa Indonesia.

1. Klik kanan pada folder values, lalu pilih New>Values Resouce File. Seperti pada gambar dibawah ini.

Klik kanan pada folder values untuk menampilkan dan membuat New Resource File

2. Setelah itu, Silahkan kalian memilih Locale pada bagian Available qualifiers lalu menekan tombol di tengah >> agar berpindah ke kanan seperti gambar di bawah

Memilih locale pada New Resource File

3.Silahkan kalian pilih bahasa yang ada pada bagian Language lalu pilih Specific Region Only di Any Region seperti pada gambar dibawah ini.

Memilih Language dan Region di jendela New Resource File

4. Setelah kalian memilih Language yang ingin kalian gunakan, Beri nama file dengan nama strings lalu setelah itu tekan tombol OK.

Memberi nama file strings pada jendela New Resource File

5. Pada tahap ini, kalian telah berhasil membuat file strings.xml untuk Bahasa Indonesia. bisa kalian lihat dalam folder strings terdapat dua file strings.xml dan salah satunya memiliki kode negara ISO.

folder strings otomatis muncul dan membuat file strings.xml menjadi dua

6. Buka file strings.xml (in) dan masukkan nilai string dari masing-masing string yang telah ada dalam file strings.xml default.

app/res/values/strings/strings.xml (in)

<resources>
    <string name="app_name">Multi Language</string>
    <string name="fullname">Nama Lengkap</string>
    <string name="username">Nama Pengguna</string>
    <string name="email_address">Alamat Email</string>
    <string name="password">Kata Sandi</string>
    <string name="register">Daftar</string>
    <string name="title">Daftarkan akun Anda sekarang</string>
    <string name="subtitle">Untuk menggunakan aplikasi ini, Anda diharuskan mendaftarkan akun.</string>
</resources>

XML Layout File

Buka file activity_main.xml lalu tambahkan widget yang memiliki string seperti TextView, EditText, Button dan lainnya. Berikut ini adalah kode lengkap untuk file activity_main.xml pada projek ini.

app>res>layout>activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    tools:context=".MainActivity">

    <androidx.appcompat.widget.LinearLayoutCompat
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/title"
            android:textAppearance="@style/TextAppearance.AppCompat.Headline"
            android:textColor="@color/black" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:text="@string/subtitle"
            android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
            android:textColor="@color/black" />


        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="50dp">

            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/fullname" />
        </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp">

            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/username" />


        </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp">

            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/email_address" />

        </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp">

            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/password" />
        </com.google.android.material.textfield.TextInputLayout>

        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:text="@string/register" />
    </androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout>

Run ‘app’

Sekarang jalankan aplikasi kalian. dalam tutorial ini, saya menjalankannya melalui emulator Android Studio. Pengaturan bahasa emulator Android Studio adalah Bahasa Inggris dan aplikasi pun menampilkan edittext dengan semua string berbahasa inggris. Namun setelah saya ganti pengaturan bahasa menjadi Bahasa Indonesia, aplikasi pun berbahasa Indonesia. Jika langkah-langkah di atas tidak ada kesalahan, maka tampilan aplikasi akan terlihat seperti pada gambar dibawah ini.

AKHIR KATA

Itulah tadi Cara Membuat Aplikasi Mendukung Banyak Bahasa di Android Studio dengan mudah. Seperti yang telah saya jelaskan di awal bahwa untuk membuat aplikasi terkenal secara global maka kalian harus mempertimbangkan untuk membuat aplikasi support dengan banyak bahasa.

Jika kalian mengalami kendala dalam melakukan langkah-langkah diatas, silahkan komentar di bawah pada artikel ini. Jangan lupa untuk like, komen dan subscribe Channel YouTube Android Rion. Semoga artikel ini bermanfaat. Terima Kasih.

Get real time updates directly on you device, subscribe now.

Leave A Reply

Your email address will not be published.