Melokalisasi Pustaka UI dalam aplikasi
Lokalisasi adalah kunci untuk membuat produk yang dapat digunakan di seluruh dunia dan oleh orang-orang yang berbicara dengan bahasa yang berbeda. Pustaka Antarmuka Pengguna Azure Communication Services menyediakan dukungan siap pakai untuk beberapa bahasa dan kemampuan, seperti kanan ke kiri (RTL). Pengembang dapat menyediakan file pelokalan mereka sendiri untuk Pustaka UI.
Dalam artikel ini, Anda mempelajari cara menyiapkan pelokalan dengan benar dengan menggunakan Pustaka UI di aplikasi Anda.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Sumber daya Communication Services yang disebarkan. Buat sumber daya Azure Communication Services.
- Token akses pengguna untuk mengaktifkan klien panggilan. Dapatkan token akses pengguna.
- Opsional: Penyelesaian mulai cepat untuk memulai komposit Pustaka UI.
Menyiapkan pelokalan
Untuk dokumentasi terperinci dan mulai cepat tentang Pustaka Antarmuka Pengguna Web, lihat Buku Cerita Pustaka UI Web.
Untuk mempelajari selengkapnya, lihat Pelokalan di Pustaka Antarmuka Pengguna Web.
Untuk informasi selengkapnya, lihat Pustaka UI Android sumber terbuka dan kode aplikasi sampel.
Bahasa yang tersedia
Tabel berikut mencantumkan CallCompositeSupportedLocale
ID untuk terjemahan di luar kotak. Jika Anda ingin melokalisasi komposit, teruskan Locale
objek dari CallCompositeSupportedLocale
ke dalam CallCompositeLocalizationOptions
sebagai opsi ke dalam CallComposite
.
Bahasa | CallCompositeSupportedLocale |
---|---|
Arab (Arab Saudi) | CallCompositeSupportedLocale.AR_SA |
Bahasa Jerman (Jerman) | CallCompositeSupportedLocale.DE_DE |
Inggris (US) | CallCompositeSupportedLocale.EN_US |
Bahasa Inggris (UK) | CallCompositeSupportedLocale.EN_UK |
Spanyol (Spanyol) | CallCompositeSupportedLocale.ES_ES |
Spanyol | CallCompositeSupportedLocale.ES |
Finlandia (Finlandia) | CallCompositeSupportedLocale.FI_FI |
Bahasa Prancis (Prancis) | CallCompositeSupportedLocale.FR_FR |
Prancis | CallCompositeSupportedLocale.FR |
Ibrani (Israel) | CallCompositeSupportedLocale.IW_IL |
Italia (Italia) | CallCompositeSupportedLocale.IT_IT |
Italia | CallCompositeSupportedLocale.IT |
Jepang (Jepang) | CallCompositeSupportedLocale.JA_JP |
Jepang | CallCompositeSupportedLocale.JA |
Korea (Korea) | CallCompositeSupportedLocale.KO_KR |
Korea | CallCompositeSupportedLocale.KO |
Bahasa Belanda (Belanda) | CallCompositeSupportedLocale.NL_NL |
Belanda | CallCompositeSupportedLocale.NL |
Norwegia (Bokmål) | CallCompositeSupportedLocale.NB_NO |
Polandia (Polandia) | CallCompositeSupportedLocale.PL_PL |
Polski | CallCompositeSupportedLocale.PL |
Portugis (Brasil) | CallCompositeSupportedLocale.PT_BR |
Portugis | CallCompositeSupportedLocale.PT |
Rusia (Rusia) | CallCompositeSupportedLocale.RU_RU |
Rusia | CallCompositeSupportedLocale.RU |
Swedia (Swedia) | CallCompositeSupportedLocale.SV_SE |
Turki (Turki) | CallCompositeSupportedLocale.TR_TR |
Turki | CallCompositeSupportedLocale.TR |
Tionghoa (Aksara Sederhana) | CallCompositeSupportedLocale.ZH_CN |
Tionghoa (Aksara Tradisional) | CallCompositeSupportedLocale.ZH_TW |
Mandarin | CallCompositeSupportedLocale.ZH |
Penyedia pelokalan
CallCompositeLocalizationOptions
adalah pembungkus opsi yang mengatur semua string untuk komponen Pustaka UI Android dengan menggunakan CallCompositeSupportedLocale
. Secara default, semua label teks menggunakan string bahasa Inggris. Anda dapat menggunakan CallCompositeLocalizationOptions
untuk mengatur bahasa yang berbeda dengan meneruskan Locale
objek dari CallCompositeSupportedLocale
. Di luar kotak, Pustaka UI menyertakan sekumpulan Locale
objek yang dapat digunakan dengan komponen dan komposit UI.
Anda juga bisa mendapatkan daftar Locale
objek dengan menggunakan fungsi CallCompositeSupportedLocale.getSupportedLocales()
statis .
Untuk menggunakan CallCompositeLocalizationOptions
, tentukan CallCompositeSupportedLocale
dan teruskan ke CallCompositeBuilder
. Contoh berikut melokalisasi komposit ke Bahasa Prancis.
import com.azure.android.communication.ui.calling.models.CallCompositeLocalizationOptions
import com.azure.android.communication.ui.calling.models.CallCompositeSupportedLocale
// CallCompositeSupportedLocale provides a list of supported locales
val callComposite: CallComposite =
CallCompositeBuilder().localization(
CallCompositeLocalizationOptions(CallCompositeSupportedLocale.FR)
).build()
Arah tata letak
Budaya tertentu (misalnya, Arab dan Ibrani) mungkin memerlukan pelokalan untuk memiliki tata letak kanan-ke-kiri. Anda dapat menentukan layoutDirection
sebagai bagian CallCompositeLocalizationOptions
dari . Tata letak komposit akan dicerminkan, tetapi teks akan tetap berada di arah string.
import com.azure.android.communication.ui.calling.models.CallCompositeLocalizationOptions
import com.azure.android.communication.ui.calling.models.CallCompositeSupportedLocale
// CallCompositeSupportedLocale provides a list of supported locales
val callComposite: CallComposite =
CallCompositeBuilder().localization(
CallCompositeLocalizationOptions(CallCompositeSupportedLocale.FR, LayoutDirection.LTR)
).build()
LayoutDirection.RTL |
LayoutDirection.LTR |
---|---|
Menyesuaikan terjemahan
Ada dua opsi untuk menyesuaikan terjemahan bahasa yang kami sediakan. Anda dapat menggunakan daftar kunci pelokalan untuk mengambil alih string tertentu untuk pasangan kunci/nilai. Anda dapat menentukan lokal sebagai salah satu bahasa yang didukung. Ketika kunci tidak disediakan, kunci akan kembali ke string terjemahan yang didukung. Jika Anda menentukan bahasa yang tidak didukung, Anda harus memberikan terjemahan untuk semua kunci untuk bahasa tersebut string.xml
(dengan menggunakan file) lalu kembali ke string bahasa Inggris saat kunci tidak disediakan.
Katakanlah Anda ingin agar bilah kontrol menggunakan string dari lokal Bahasa Inggris (AS), tetapi Anda ingin mengubah label tombol Gabung Panggilan menjadi Mulai Rapat dalam tampilan penyetelan. Buat string.xml
file (atau nama file lainnya) dengan pasangan kunci/nilai untuk kunci yang dipilih yang ingin Anda ambil alih. Contoh berikut mengambil alih kunci azure_communication_ui_calling_setup_view_button_join_call
.
Untuk informasi selengkapnya, lihat Pustaka UI iOS sumber terbuka dan kode aplikasi sampel.
Deteksi bahasa
Jika aplikasi Anda mendukung pelokalan, Pustaka UI ditampilkan berdasarkan bahasa pilihan sistem pengguna jika merupakan bagian dari bahasa yang tersedia yang tercantum di bagian berikutnya. Jika tidak, bahasa default ke string bahasa Inggris (en
) yang telah ditentukan sebelumnya.
Bahasa yang tersedia
Tabel berikut ini mencantumkan terjemahan di luar kotak untuk locale
. Jika Anda ingin melokalisasi komposit, teruskan locale
sebagai LocalizationOptions
opsi ke dalam CallComposite
.
Bahasa | SupportedLocale | pengidentifikasi |
---|---|---|
Cina Sederhana | zh |
zh |
Cina Sederhana | zhHans |
zh-Hans |
Tionghoa, Sederhana (Tiongkok daratan) | zhHansCN |
zh-Hans-CN |
Bahasa Mandarin, Tradisional | zhHant |
zh-Hant |
Tionghoa, Tradisional (Taiwan) | zhHantTW |
zh-Hant-TW |
Belanda | nl |
nl |
Bahasa Belanda (Belanda) | nlNL |
nl-NL |
Inggris | en |
en |
Inggris (Kerajaan Inggris Bersatu) | enGB |
en-GB |
Inggris (Amerika Serikat) | enUS |
en-US |
Prancis | fr |
fr |
Bahasa Prancis (Prancis) | frFR |
fr-FR |
Jerman | de |
de |
Bahasa Jerman (Jerman) | deDE |
de-DE |
Italia | it |
it |
Italia (Italia) | itIT |
it-IT |
Jepang | ja |
ja |
Jepang (Jepang) | jaJP |
ja-JP |
Korea | ko |
ko |
Korea (Korea Selatan) | koKR |
ko-KR |
Portugis | pt |
pt |
Portugis (Brasil) | ptBR |
pt-BR |
Rusia | ru |
ru |
Rusia (Rusia) | ruRU |
ru-RU |
Spanyol | es |
es |
Spanyol (Spanyol) | esES |
es-ES |
Turki | tr |
tr |
Turki (Türkiye) | trTR |
tr-TR |
Anda juga bisa mendapatkan daftar locale
struktur dengan menggunakan fungsi SupportedLocale.values
statis .
let locales: [Locale] = SupportedLocale.values.map{ $0.identifier }
print(locales)
// ["de", "de-DE", "en", "en-GB", "en-US", "es", "es-ES", "fr", "fr-FR", "it", "it-IT", "ja", "ja-JP", "ko", "ko-KR", "nl", "nl-NL", "pt", "pt-BR", "ru", "ru-RU", "tr", "tr-TR", "zh", "zh-Hans", "zh-Hans-CN", "zh-Hant", "zh-Hant-TW"]
LocalizationOptions
LocalizationOptions
adalah pembungkus opsi yang mengatur semua string untuk komponen Pustaka UI dengan menggunakan locale
. Secara default, semua label teks menggunakan string bahasa Inggris (en
). Anda dapat menggunakan LocalizationOptions
untuk mengatur struktur yang berbeda locale
. Di luar kotak, Pustaka UI menyertakan sekumpulan locale
struktur yang dapat digunakan dengan komponen dan komposit UI.
Untuk menggunakan LocalizationOptions
, tentukan struktur Swift locale
(dengan atau tanpa kode wilayah) dan teruskan ke CallCompositeOptions
. Contoh berikut melokalisasi komposit ke Bahasa Prancis untuk Prancis (fr-FR
).
// Creating a Swift locale structure
var localizationOptions = LocalizationOptions(locale: Locale(identifier: "fr-FR"))
// Use IntelliSense SupportedLocale to get supported locale structures
localizationOptions = LocalizationOptions(locale: SupportedLocale.frFR)
let callCompositeOptions = CallCompositeOptions(localization: localizationOptions)
let callComposite = CallComposite(withOptions: callCompositeOptions)
Arah tata letak
Budaya tertentu (misalnya, Arab dan Ibrani) mungkin memerlukan pelokalan untuk memiliki tata letak kanan-ke-kiri. Anda dapat menentukan layoutDirection
sebagai bagian LocalizationOptions
dari . Tata letak komposit akan dicerminkan, tetapi teks akan tetap berada di arah string.
var localizationOptions: LocalizationOptions
// Initializer with locale and layoutDirection
localizationOptions = LocalizationOptions(locale: Locale(identifier: "en"),
layoutDirection: .rightToLeft)
// Initializer with locale, localizableFilename, and layoutDirection
localizationOptions = LocalizationOptions(locale: Locale(identifier: "en"),
localizableFilename: "Localizable",
layoutDirection: .rightToLeft)
// Add localizationOptions as an option
let callCompositeOptions = CallCompositeOptions(localization: localizationOptions)
let callComposite = CallComposite(withOptions: callCompositeOptions)
Contoh berikut menunjukkan pencerminan tata letak kanan-ke-kiri. Jika Anda tidak menentukan layoutDirection
, defaultnya ke false
(tata letak kiri-ke-kanan).
layoutDirection = .leftToRight (default) |
layoutDirection = .rightToLeft |
---|---|
Menyesuaikan terjemahan
Ada dua opsi untuk menyesuaikan terjemahan bahasa yang kami sediakan. Untuk mengambil alih string tertentu, Anda dapat menggunakan daftar kunci pelokalan untuk pasangan kunci/nilai. Anda dapat menentukan locale
sebagai salah satu bahasa yang didukung. Saat kunci tidak disediakan, kunci akan kembali ke string terjemahan yang didukung. Jika Anda menentukan bahasa yang tidak didukung, Anda harus memberikan terjemahan untuk semua kunci untuk bahasa tersebut Localizable.strings
(dengan menggunakan file) lalu kembali ke string bahasa Inggris saat kunci tidak disediakan.
Katakanlah Anda ingin agar bilah kontrol menggunakan string dari lokal Bahasa Inggris (AS), tetapi Anda ingin mengubah label tombol Gabung Panggilan menjadi Mulai Rapat dalam tampilan penyetelan. Aktifkan pelokalan dalam proyek untuk locale
instans yang ingin Anda ambil alih. Buat Localizable.strings
file (atau nama file lain dengan ekstensi .strings
) dengan pasangan kunci/nilai untuk kunci yang dipilih yang ingin Anda ambil alih. Contoh berikut mengambil alih kunci AzureCommunicationUI.SetupView.Button.JoinCall
.
Untuk menentukan bahwa Anda mengambil alih dengan Localizable.strings
, buat LocalizationOptions
objek untuk menentukan locale
dan localizationFilename
. Atau saat Anda menggunakan penginisialisasi locale
, ini melihat kunci Localizable.strings
sebagai locale.collatorIdentifier
bahasa dalam proyek Anda.
let localizationOptions = LocalizationOptions(locale: Locale(identifier: "fr"),
localizableFilename: "Localizable")
let callCompositeOptions = CallCompositeOptions(localization: localizationOptions)
let callComposite = CallComposite(withOptions: callCompositeOptions)
Voiceover aksesibilitas untuk pelokalan
Agar voiceover berfungsi dengan baik untuk pelokalan, pastikan bahasa ditambahkan ke pelokalan aplikasi Anda. Voiceover kemudian mendeteksi bahwa aplikasi mendukung bahasa yang ditentukan untuk LocalizationOptions
locale
. Ini memilih suara ucapan untuk bahasa dengan menggunakan suara yang ditemukan di Pengaturan> Pengaturan> Akses di perangkat. Anda dapat memverifikasi bahwa bahasa ditambahkan ke proyek Anda, seperti yang diperlihatkan dalam contoh berikut.