Dalam banyak kasus, pengguna multibahasa menyetel bahasa sistemnya ke satu bahasa, seperti bahasa Inggris, tetapi mereka ingin memilih bahasa lain untuk aplikasi tertentu, seperti Belanda, China, atau Hindi. Untuk membantu aplikasi memberikan pengalaman yang lebih baik bagi pengguna ini, Android 13 memperkenalkan fitur berikut untuk aplikasi yang mendukung beberapa bahasa:
Setelan sistem: Lokasi terpusat tempat pengguna dapat memilih bahasa pilihan untuk setiap aplikasi.
Anda dapat mengonfigurasi aplikasi agar otomatis menghasilkan file yang diperlukan untuk mendukung preferensi bahasa per aplikasi dan muncul di setelan sistem. Untuk mempelajari lebih lanjut, lihat petunjuk untuk mengaktifkan dukungan bahasa per aplikasi otomatis support.
API tambahan: API publik ini, seperti metode
setApplicationLocalesdangetApplicationLocalesdiLocaleManager, memungkinkan aplikasi menyetel bahasa yang berbeda dari bahasa sistem saat runtime.API ini otomatis disinkronkan dengan setelan sistem; oleh karena itu, aplikasi yang menggunakan API ini untuk membuat pemilih bahasa kustom dalam aplikasi akan memastikan penggunanya memiliki pengalaman pengguna yang konsisten di mana pun mereka memilih preferensi bahasa mereka. API publik ini tidak hanya membantu Anda mengurangi jumlah kode boilerplate , tetapi juga mendukung APK terpisah dan Pencadangan Otomatis untuk Aplikasi guna menyimpan setelan bahasa pengguna tingkat aplikasi.
Untuk kompatibilitas mundur dengan versi Android sebelumnya, API setara juga tersedia di AndroidX. Namun, API yang kompatibel dengan versi lama berfungsi dengan konteks AppCompatActivity, bukan konteks aplikasi, untuk Android 12 (level API 32) dan yang lebih lama. Akses API yang kompatibel dengan versi lama dengan Appcompat 1.6.0 atau versi lebih tinggi.
Ringkasan penerapan fitur ini
Tabel berikut menunjukkan penerapan yang direkomendasikan berdasarkan kasus penggunaan yang berbeda.
| Kasus penggunaan | Penerapan yang direkomendasikan |
|---|---|
| Aplikasi Anda tidak memiliki pemilih bahasa dalam aplikasi |
|
| Aplikasi Anda sudah memiliki pemilih bahasa dalam aplikasi |
|
Setelan sistem untuk pengguna
Mulai Android 13, Android menyertakan lokasi terpusat dalam setelan sistem untuk menyetel preferensi bahasa per aplikasi. Untuk memastikan bahasa aplikasi dapat dikonfigurasi di setelan sistem di perangkat yang menjalankan Android 13 atau yang lebih baru, aktifkan dukungan bahasa per aplikasi otomatis (direkomendasikan) atau konfigurasi dukungan secara manual.
Mengaktifkan dukungan bahasa per aplikasi otomatis
Ini adalah cara yang direkomendasikan untuk menambahkan dukungan bahasa per aplikasi ke aplikasi Anda, karena tidak memerlukan modifikasi XML.
Mulai dari Android Studio Giraffe dan AGP 8.1, Anda dapat mengonfigurasi aplikasi untuk
mendukung preferensi bahasa per aplikasi secara otomatis. Berdasarkan resource project Anda, AGP menghasilkan file LocaleConfig dan menambahkan referensi ke file tersebut dalam file manifes akhir, sehingga Anda tidak perlu lagi melakukannya secara manual. AGP menggunakan resource dalam folder res modul aplikasi Anda dan dependensi modul library apa pun untuk menentukan lokalitas yang akan disertakan dalam file LocaleConfig.
Artinya, jika Anda menambahkan resource untuk bahasa baru ke aplikasi, Anda tidak perlu mengupdate file LocaleConfig.
Perhatikan bahwa fitur bahasa per aplikasi otomatis mendukung aplikasi yang menjalankan Android 13 (level API 33) atau yang lebih baru. Untuk menggunakan fitur ini, Anda harus menetapkan compileSdkVersion ke versi 33 atau lebih tinggi. Untuk mengonfigurasi preferensi bahasa per aplikasi
untuk Android versi sebelumnya, Anda masih harus menggunakan API dan pemilih bahasa dalam aplikasi.
Untuk mengaktifkan dukungan bahasa per aplikasi otomatis, ikuti langkah-langkah berikut:
- Untuk mengaktifkan fitur ini, gunakan
generateLocaleConfigsetelan dalam blokandroidResources {}file level modulbuild.gradle.kts(build.gradlefile jika Anda menggunakan Groovy). Fitur ini dinonaktifkan secara default.
Kotlin
android {
androidResources {
generateLocaleConfig = true
}
}
Groovy
android {
androidResources {
generateLocaleConfig true
}
}
- Tentukan lokalitas default:
- Dalam folder
resmodul aplikasi, buat file baru bernamaresources.properties. - Dalam file
resources.properties, tetapkan lokalitas default dengan labelunqualifiedResLocale. Untuk memformat nama lokalitas, lihat Cara membentuk nama lokalitas.
- Dalam folder
AGP menambahkan lokalitas default ini dan lokalitas alternatif yang telah Anda tentukan,
menggunakan direktori values-* dalam folder res, ke file LocaleConfig yang dibuat secara otomatis.
Cara membentuk nama lokalitas
Untuk membentuk nama lokalitas, gabungkan kode bahasa dengan skrip opsional dan kode wilayah, yang memisahkan keduanya dengan tanda hubung:
- Bahasa: Gunakan kode ISO 639-2 dua atau tiga huruf. ISO 639-2
- Skrip (opsional): Gunakan kode ISO 15924.
- Wilayah (opsional): Gunakan kode ISO 3166-1-alpha-2 dua huruf atau kode UN_M.49 tiga huruf.
Misalnya, jika lokalitas default Anda adalah bahasa Inggris Amerika:
unqualifiedResLocale=en-US
Menggunakan android:localeConfig untuk menambahkan bahasa yang didukung ke setelan sistem
Anda dapat menyiapkan aplikasi secara manual untuk memastikan bahasanya dapat dikonfigurasi di setelan sistem di perangkat yang menjalankan Android 13 atau yang lebih baru. Untuk melakukannya, buat file XML locale_config dan tambahkan file ke manifes aplikasi Anda menggunakan atribut android:localeConfig. Menghapus entri manifes android:localeConfig menandakan bahwa pengguna tidak seharusnya dapat menyetel bahasa aplikasi Anda, apa pun bahasa sistem mereka dalam setelan sistem.
Untuk menambahkan bahasa yang didukung aplikasi Anda ke setelan sistem pengguna secara manual:
Buat file bernama
res/xml/locale_config.xmldan tentukan bahasa aplikasi Anda, termasuk lokalitas penggantian akhir aplikasi Anda, yang merupakan lokalitas yang ditentukan dalamres/values/strings.xml.Lihat Cara membentuk nama lokalitas untuk persyaratan format. Lihat juga contoh
locale_config.xmlfile untuk mengetahui daftar lokalitas yang umum digunakan.Misalnya, format file
locale_config.xmlseperti ini untuk aplikasi yang mendukung bahasa berikut:- Inggris (Amerika Serikat) sebagai lokalitas pengganti akhir
- Inggris (Inggris Raya)
- Prancis
- Jepang
- Bahasa China (Aksara Sederhana, Makau)
- Bahasa China (Aksara Tradisional, Makau)
<?xml version="1.0" encoding="utf-8"?> <locale-config xmlns:android="http://schemas.android.com/apk/res/android"> <locale android:name="en-US"/> <locale android:name="en-GB"/> <locale android:name="fr"/> <locale android:name="ja"/> <locale android:name="zh-Hans-MO"/> <locale android:name="zh-Hant-MO"/> </locale-config>Di manifes, tambahkan baris yang menunjuk file baru ini:
<manifest> ... <application ... android:localeConfig="@xml/locale_config"> </application> </manifest>
Anda dapat memperbarui localeConfig aplikasi secara dinamis dengan LocaleManager.setOverrideLocaleConfig untuk menyesuaikan kumpulan bahasa yang ditampilkan dalam daftar bahasa per aplikasi di Setelan Android. Hal ini memungkinkan Anda menyesuaikan daftar bahasa per wilayah, menjalankan eksperimen A/B, dan menyediakan lokalitas yang diperbarui jika aplikasi Anda menggunakan push pelokalan sisi server seperti yang ditunjukkan dalam contoh berikut:
//For setOverrideLocaleConfig
val localeManager = applicationContext
.getSystemService(LocaleManager::class.java)
localeManager.overrideLocaleConfig = LocaleConfig(
LocaleList.forLanguageTags("en-US,ja-JP,zh-Hans-SG")
)
//For getOverrideLocaleConfig
// The app calls the API to get the override LocaleConfig
val overrideLocaleConfig = localeManager.overrideLocaleConfig
// If the returned overrideLocaleConfig isn't equal to NULL, then the app calls the API to get the supported Locales
val supportedLocales = overrideLocaleConfig.supportedLocales()
Selain itu, IME kini dapat menggunakan LocaleManager.getApplicationLocales untuk
mengetahui bahasa UI aplikasi saat ini guna memperbarui bahasa keyboard seperti yang
ditunjukkan:
val currentAppLocales: LocaleList = applicationContext.getSystemService(LocaleManager::class.java).getApplicationLocales(appPackageName)
Menentukan bahasa yang didukung di Gradle
Jika belum ada, tentukan bahasa yang sama menggunakan properti
resourceConfigurations dalam file
build.gradle level modul aplikasi Anda:
android {
...
defaultConfig {
resourceConfigurations += ["en", "en-rGB", "fr", "ja", "b+zh+Hans+MO", "b+zh+Hant+MO"]
}
}
Jika properti resourceConfigurations ada, sistem build hanya akan menyertakan resource bahasa dalam APK untuk bahasa yang ditentukan tersebut, sehingga string terjemahan tidak disertakan dari library lain yang mungkin mendukung bahasa yang tidak didukung aplikasi Anda. Untuk mengetahui informasi selengkapnya, lihat Menentukan
bahasa yang didukung aplikasi.
Cara pengguna memilih bahasa aplikasi di setelan sistem
Pengguna dapat memilih bahasa pilihan mereka untuk setiap aplikasi melalui setelan sistem. Pengguna dapat mengakses setelan ini dengan dua cara berbeda:
Akses melalui setelan Sistem
Setelan > Sistem > Bahasa & Input > Bahasa Aplikasi > (pilih aplikasi)
Akses melalui setelan Aplikasi
Setelan > Aplikasi > (pilih aplikasi) > Bahasa
Menangani pemilih bahasa dalam aplikasi
Untuk aplikasi yang telah memiliki pemilih bahasa dalam aplikasi atau ingin menggunakannya, gunakan API publik, bukan logika aplikasi khusus, untuk menangani setelan dan mendapatkan bahasa pilihan pengguna untuk aplikasi Anda. Jika Anda menggunakan API publik untuk pemilih bahasa dalam aplikasi, setelan sistem perangkat akan otomatis diperbarui agar cocok dengan bahasa yang dipilih pengguna melalui pengalaman dalam aplikasi Anda.
Implementasi menggunakan Jetpack Compose
Untuk aplikasi yang dibuat sepenuhnya dengan Jetpack Compose, sistem akan otomatis menangani update UI saat lokalitas aplikasi berubah. Memanggil API untuk menetapkan bahasa baru akan memicu perubahan konfigurasi. Compose bereaksi dengan menyusun ulang UI Anda dan otomatis menyelesaikan panggilan stringResource menggunakan lokalitas baru.
Untuk kompatibilitas mundur dengan Android 12 (level API 32) dan versi lebih lama, sebaiknya gunakan support library AndroidX (AppCompatDelegate) saat menerapkan pemilih bahasa dalam aplikasi. Jika Anda menggunakan pendekatan ini, aktivitas yang menghosting UI Compose harus memperluas AppCompatActivity. Namun, Anda juga dapat
menerapkan API framework secara langsung jika perlu.
Cuplikan kode berikut menunjukkan contoh cara membaca lokalitas aplikasi saat ini dan menetapkan lokalitas baru dalam fungsi composable:
import androidx.appcompat.app.AppCompatDelegate
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.core.os.LocaleListCompat
@Composable
fun LanguageSelector() {
// Retrieve the currently configured app locale.
// If no app-specific locale is set, LocaleListCompat.get(0) returns null,
// so we safely fall back to a default (e.g., "en").
val appLocales = AppCompatDelegate.getApplicationLocales()
val currentLocaleTag = appLocales.get(0)?.toLanguageTag() ?: "en"
// Example UI: A button to toggle between English and Spanish
Button(
onClick = {
val newLanguageTag = if (currentLocaleTag == "en") "es" else "en"
val localeList = LocaleListCompat.forLanguageTags(newLanguageTag)
// Setting the locale re-creates the Activity by default,
// which automatically applies the new configuration to Compose.
AppCompatDelegate.setApplicationLocales(localeList)
}
) {
Text(
text = if (currentLocaleTag == "en") "Switch to Spanish" else "Switch to English"
)
}
}
Untuk menyetel bahasa pilihan pengguna, Anda akan meminta pengguna memilih lokalitas dalam pemilih bahasa, lalu menyetel nilai tersebut dalam sistem:
val appLocale: LocaleListCompat = LocaleListCompat.forLanguageTags("xx-YY")
// Call this on the main thread as it may require Activity.restart()
AppCompatDelegate.setApplicationLocales(appLocale)
Perhatikan bahwa memanggil setApplicationLocales akan membuat ulang Activity, kecuali
aplikasi Anda menangani perubahan konfigurasi lokalitas dengan sendirinya.
Gunakan AppCompatDelegate.getApplicationLocales untuk mengambil lokalitas pilihan pengguna. Pengguna mungkin telah memilih lokalitas aplikasi mereka dari setelan
sistem atau dari pemilih bahasa dalam aplikasi.
Mendukung Android 12 dan versi lebih lama
Untuk mendukung perangkat yang menjalankan Android 12 (level API 32) dan versi lebih lama, beri tahu AndroidX untuk menangani penyimpanan lokalitas dengan menyetel nilai autoStoreLocales ke true dan android:enabled ke false dalam entri manifes untuk layanan AppLocalesMetadataHolderService aplikasi Anda, seperti yang ditunjukkan dalam cuplikan kode berikut:
<application
...
<service
android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
android:enabled="false"
android:exported="false">
<meta-data
android:name="autoStoreLocales"
android:value="true" />
</service>
...
</application>
Perhatikan bahwa menyetel nilai autoStoreLocales ke true akan menyebabkan pembacaan blocking
di thread utama dan dapat menyebabkan pelanggaran StrictMode diskRead dan
diskWrite jika Anda melakukan logging pada pelanggaran thread. Lihat
AppCompatDelegate.setApplicationLocales untuk mengetahui informasi selengkapnya.
Penanganan penyimpanan kustom
Menghapus entri manifes atau menetapkan autoStoreLocales ke false
menandakan bahwa Anda menangani penyimpanan Anda sendiri. Dalam hal ini, Anda harus menyediakan
lokalitas yang disimpan sebelum onCreate dalam siklus proses aktivitas dan panggilan gate ke
AppCompatDelegate.setApplicationLocales di Android 12 (level API 32) atau
versi lebih rendah.
Jika aplikasi Anda memiliki lokasi penyimpanan lokalitas khusus, sebaiknya gunakan pengalihan satu kali
antara solusi penyimpanan lokalitas khusus dan autoStoreLocales sehingga
pengguna dapat terus menikmati aplikasi Anda dalam bahasa yang mereka inginkan. Hal ini terutama
berlaku jika aplikasi Anda pertama kali dijalankan setelah perangkat diupgrade ke
Android 13. Dalam hal ini, Anda dapat memberikan lokalitas yang diminta oleh pengguna yang sudah ada sebelumnya
dengan mengambil lokalitas dari penyimpanan khusus Anda dan meneruskan lokalitas ke
AppCompatDelegate.setApplicationLocales.
Implementasi menggunakan API framework Android
Meskipun kami sangat menyarankan Anda menggunakan support library AndroidX untuk
menerapkan pemilih bahasa dalam aplikasi, Anda juga dapat menggunakan metode
setApplicationLocales dan getApplicationLocales dalam
framework Android untuk perangkat yang menjalankan Android 13.
Cuplikan kode berikut menunjukkan cara menetapkan dan mendapatkan bahasa pilihan pengguna menggunakan layanan sistem LocaleManager:
import android.app.LocaleManager
import android.content.Context
import android.os.Build
import android.os.LocaleList
import androidx.annotation.RequiresApi
import java.util.Locale
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
fun setAppLanguage(context: Context, languageTag: String) {
// 1. Retrieve the system service
val localeManager = context.getSystemService(LocaleManager::class.java)
// 2. Create a LocaleList from the language tag (e.g., "es-ES" or "ja")
val localeList = LocaleList(Locale.forLanguageTag(languageTag))
// 3. Set the locale. The system automatically updates the locale and
// restarts the app, including any necessary configuration updates.
localeManager.applicationLocales = localeList
}
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
fun getAppLanguage(context: Context): String {
val localeManager = context.getSystemService(LocaleManager::class.java)
val currentLocales = localeManager.applicationLocales
// Return the primary app locale, or fall back to the system default
return if (!currentLocales.isEmpty) {
currentLocales.get(0).toLanguageTag()
} else {
Locale.getDefault().toLanguageTag()
}
}
Praktik terbaik tambahan
Perhatikan praktik terbaik berikut.
Mempertimbangkan bahasa saat memanggil intent di aplikasi lain
Intent yang berfokus pada bahasa dapat memungkinkan Anda menentukan bahasa yang ingin digunakan oleh aplikasi yang dipanggil. Salah satu contohnya adalah fitur EXTRA_LANGUAGE dari the
Speech Recognizer API.
Mempertimbangkan header Accept-Language untuk Tab khusus Chrome
Pertimbangkan untuk menambahkan Header Accept-Language melalui
Browser.EXTRA_HEADERS untuk membuka halaman web dalam bahasa aplikasi Anda saat
memanggil Tab khusus Chrome.
Jika Anda menghapus preferensi bahasa per aplikasi dalam setelan sistem, reset lokalitas aplikasi Anda ke lokalitas sistem
Jika Anda menghapus preferensi bahasa aplikasi dari setelan sistem (dengan menghapus android:localeConfig dari AndroidManifest.xml aplikasi Anda), pengguna tidak akan dapat mereset bahasa aplikasinya dengan mudah kembali ke default sistem.
Oleh karena itu, jika Anda menghapus android:localeConfig, pertimbangkan untuk mereset
lokalitas aplikasi ke lokalitas sistem menggunakan
LocaleListCompat.getEmptyLocaleList atau
LocaleList.getEmptyLocaleList seperti yang terlihat dalam cuplikan kode berikut:
// Use the AndroidX APIs to reset to the system locale for backward and forward compatibility
AppCompatDelegate.setApplicationLocales(
LocaleListCompat.getEmptyLocaleList()
)
// Or use the Framework APIs for Android 13 and above to reset to the system locale
val context = LocalContext.current
context.getSystemService(LocaleManager::class.java)
.applicationLocales = LocaleList.getEmptyLocaleList()
Contoh file locale_config.xml
Secara default, Android menyertakan terjemahan tingkat sistem di Proyek Open
Source Android (AOSP) untuk sekumpulan standar lokalitas yang paling sering digunakan.
Contoh file locale_config.xml yang disertakan di bagian ini menampilkan
format yang disarankan untuk setiap lokalitas ini. Rujuk file contoh ini untuk membantu Anda membuat file locale_config.xml sendiri untuk sekumpulan bahasa yang didukung aplikasi Anda.
<?xml version="1.0" encoding="utf-8"?>
<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
<locale android:name="af"/> <!-- Afrikaans -->
<locale android:name="am"/> <!-- Amharic -->
<locale android:name="ar"/> <!-- Arabic -->
<locale android:name="as"/> <!-- Assamese -->
<locale android:name="az"/> <!-- Azerbaijani -->
<locale android:name="be"/> <!-- Belarusian -->
<locale android:name="bg"/> <!-- Bulgarian -->
<locale android:name="bn"/> <!-- Bengali -->
<locale android:name="bs"/> <!-- Bosnian -->
<locale android:name="ca"/> <!-- Catalan -->
<locale android:name="cs"/> <!-- Czech -->
<locale android:name="da"/> <!-- Danish -->
<locale android:name="de"/> <!-- German -->
<locale android:name="el"/> <!-- Greek -->
<locale android:name="en-AU"/> <!-- English (Australia) -->
<locale android:name="en-CA"/> <!-- English (Canada) -->
<locale android:name="en-GB"/> <!-- English (United Kingdom) -->
<locale android:name="en-IN"/> <!-- English (India) -->
<locale android:name="en-US"/> <!-- English (United States) -->
<locale android:name="es"/> <!-- Spanish (Spain) -->
<locale android:name="es-US"/> <!-- Spanish (United States) -->
<locale android:name="et"/> <!-- Estonian -->
<locale android:name="eu"/> <!-- Basque -->
<locale android:name="fa"/> <!-- Farsi -->
<locale android:name="fi"/> <!-- Finnish -->
<locale android:name="fil"/> <!-- Filipino -->
<locale android:name="fr"/> <!-- French (France) -->
<locale android:name="fr-CA"/> <!-- French (Canada) -->
<locale android:name="gl"/> <!-- Galician -->
<locale android:name="gu"/> <!-- Gujarati -->
<locale android:name="hi"/> <!-- Hindi -->
<locale android:name="hr"/> <!-- Croatian -->
<locale android:name="hu"/> <!-- Hungarian -->
<locale android:name="hy"/> <!-- Armenian -->
<locale android:name="in"/> <!-- Indonesian -->
<locale android:name="is"/> <!-- Icelandic -->
<locale android:name="it"/> <!-- Italian -->
<locale android:name="iw"/> <!-- Hebrew -->
<locale android:name="ja"/> <!-- Japanese -->
<locale android:name="ka"/> <!-- Georgian -->
<locale android:name="kk"/> <!-- Kazakh -->
<locale android:name="km"/> <!-- Khmer -->
<locale android:name="kn"/> <!-- Kannada -->
<locale android:name="ko"/> <!-- Korean -->
<locale android:name="ky"/> <!-- Kyrgyz -->
<locale android:name="lo"/> <!-- Lao -->
<locale android:name="lt"/> <!-- Lithuanian -->
<locale android:name="lv"/> <!-- Latvian -->
<locale android:name="mk"/> <!-- Macedonian -->
<locale android:name="ml"/> <!-- Malayalam -->
<locale android:name="mn"/> <!-- Mongolian -->
<locale android:name="mr"/> <!-- Marathi -->
<locale android:name="ms"/> <!-- Malay -->
<locale android:name="my"/> <!-- Burmese -->
<locale android:name="nb"/> <!-- Norwegian -->
<locale android:name="ne"/> <!-- Nepali -->
<locale android:name="nl"/> <!-- Dutch -->
<locale android:name="or"/> <!-- Odia -->
<locale android:name="pa"/> <!-- Punjabi -->
<locale android:name="pl"/> <!-- Polish -->
<locale android:name="pt-BR"/> <!-- Portuguese (Brazil) -->
<locale android:name="pt-PT"/> <!-- Portuguese (Portugal) -->
<locale android:name="ro"/> <!-- Romanian -->
<locale android:name="ru"/> <!-- Russian -->
<locale android:name="si"/> <!-- Sinhala -->
<locale android:name="sk"/> <!-- Slovak -->
<locale android:name="sl"/> <!-- Slovenian -->
<locale android:name="sq"/> <!-- Albanian -->
<locale android:name="sr"/> <!-- Serbian (Cyrillic) -->
<locale android:name="sr-Latn"/> <!-- Serbian (Latin) -->
<locale android:name="sv"/> <!-- Swedish -->
<locale android:name="sw"/> <!-- Swahili -->
<locale android:name="ta"/> <!-- Tamil -->
<locale android:name="te"/> <!-- Telugu -->
<locale android:name="th"/> <!-- Thai -->
<locale android:name="tr"/> <!-- Turkish -->
<locale android:name="uk"/> <!-- Ukrainian -->
<locale android:name="ur"/> <!-- Urdu -->
<locale android:name="uz"/> <!-- Uzbek -->
<locale android:name="vi"/> <!-- Vietnamese -->
<locale android:name="zh-Hans"/> <!-- Chinese (Simplified) -->
<locale android:name="zh-Hant"/> <!-- Chinese (Traditional) -->
<locale android:name="zu"/> <!-- Zulu -->
</locale-config>
Referensi lainnya
Lihat contoh kode, artikel blog, dan video kami untuk informasi tambahan.
- Blog Preferensi Bahasa Per Aplikasi Bagian 1
- Blog Preferensi Bahasa Per Aplikasi Bagian 2
- Video Mem-build untuk dunia multibahasa
- Resource di Compose