Melokalkan UI dengan Translations Editor

Translations Editor menyediakan tampilan terpadu yang dapat diedit untuk semua resource string default dan terjemahan Anda.

Untuk pengenalan tentang penerjemahan aplikasi Anda untuk berbagai bahasa, baca Mendukung berbagai bahasa dan budaya.

Gambar 1. Translations Editor yang menampilkan teks aplikasi sebelum diterjemahkan

Resource string

Resource string untuk project ada di dalam file strings.xml. Project Anda memiliki file strings.xml default yang berisi resource string dalam bahasa default untuk aplikasi Anda, yang merupakan bahasa yang diharapkan sesuai dengan bahasa sehari-hari pengguna aplikasi Anda. Anda juga dapat menerjemahkan file strings.xml yang berisi resource string untuk bahasa lain yang ingin diakomodasi aplikasi Anda.

Setelah file strings.xml default selesai, Anda dapat menambahkan terjemahan sendiri, atau membayar jasa profesional untuk melakukan proses terjemahan. Apa pun itu, sebaiknya Anda memanfaatkan fitur Android Studio untuk membantu mengelola dan menguji teks yang dapat dilokalkan. Untuk mengetahui informasi tentang jasa terjemahan profesional, lihat Jasa terjemahan.

Membuka Translations Editor

Anda dapat mengakses Translations Editor dari tempat-tempat berikut di Android Studio.

Membuka dari tampilan Android

  1. Pada panel Project > Android di sebelah kiri, pilih ModuleName > res > values.
  2. Klik kanan file strings.xml, lalu pilih Open Translations Editor.

    Translations Editor akan menampilkan pasangan kunci dan nilai dari file strings.xml.

    Catatan: Jika telah menerjemahkan file strings.xml, project Anda memiliki beberapa folder values yang sesuai dengan akhiran yang menunjukkan bahasa, seperti values-es untuk bahasa Spanyol. File strings.xml default Anda selalu berada di folder values (tanpa akhiran).

Gambar 1 menunjukkan teks aplikasi default (dalam hal ini, bahasa Inggris) di Translations Editor untuk aplikasi sederhana sebelum pekerjaan terjemahan dilakukan. Isi file strings.xml yang diterjemahkan akan muncul di sebelah kanan kolom Untranslatable dengan satu kolom per bahasa, seperti yang ditunjukkan pada gambar 2.

Membuka dari dalam strings.xml

Anda dapat mengakses Translations Editor dari dalam file strings.xml Anda.

  1. Pada panel Project > Android di sebelah kiri, pilih ModuleName > res > values.
  2. Klik dua kali strings.xml untuk membuka fitur edit.
  3. Di strings.xml, klik link Open editor di sudut kanan atas.

Mengonfigurasi baris yang tidak dapat diterjemahkan

Di Translations Editor, Anda dapat memilih Untranslatable untuk menunjukkan bahwa Anda tidak ingin teks dalam baris ini diterjemahkan. Teks yang tidak ingin diterjemahkan dapat berupa teks khusus produk seperti nama dagang dan merek dagang, atau istilah teknis yang tidak memiliki terjemahan.

Jika Anda memilih Untranslatable, baris yang sesuai di file strings.xml default akan menambahkan translatable="false". Dalam contoh berikut, EasyApp di baris teratas tidak diterjemahkan karena merupakan nama produk.

<resources>
    <string name="app_name" translatable="false">EasyApp</string>
    <string name="action_settings">Settings</string>
    <string name="easy_app">I am a Simple App!</string>
    <string name="next_page">Next Page</string>
    <string name="second_page_message">I am the Second Page!</string>
    <string name="title_activity_second">SecondActivity</string>
</resources>

Menambahkan dan menghapus bahasa

Translation Editor mendukung BCP 47 dan menggabungkan kode lokal serta wilayah (negara) menjadi satu pilihan untuk pelokalan target. Lokalitas menjelaskan lebih dari bahasa. Lokalitas mencakup format yang bergantung pada negara untuk hal-hal seperti tanggal dan waktu, mata uang, serta desimal.

Untuk menambahkan bahasa, lakukan langkah-langkah berikut:

  1. Di Translations Editor, klik ikon globe .
  2. Dari daftar drop-down, pilih bahasa yang ingin ditambahkan. Bahasa baru akan muncul di Translations Editor, dan folder values-* dengan file `strings.xml` akan ditambahkan ke project. Misalnya, values-es untuk bahasa Spanyol.

Untuk menghapus bahasa, lakukan langkah-langkah berikut:

Anda dapat menghapus bahasa di Translations Editor dengan menghapus setiap nilai di kolom (lihat Mengedit, menambahkan, dan menghapus teks), atau Anda dapat menghapus folder project untuk bahasa tersebut, dengan cara berikut:

  1. Pada panel Project > Android di sebelah kiri, pilih ModuleName > res.
  2. Klik kanan folder values-* untuk bahasa yang ingin dihapus. Misalnya, values-hi untuk bahasa Hindi.
  3. Dari daftar, pilih Delete untuk menghapus folder dan file strings.xml-nya.

Mengedit, menambah, dan menghapus teks

Anda dapat mengedit setelan teks secara langsung di file strings.xml atau melalui Translations Editor. Bagian ini menjelaskan pendekatan Translations Editor. Di Translations Editor, Anda dapat mengedit, menambahkan, atau menghapus teks menggunakan tampilan daftar atau kolom Translation di bagian bawah Translations Editor.

Gambar 2. Tampilan daftar di atas dan kolom Translation di bawah

Tampilan daftar

Untuk mengedit atau menambahkan teks, ikuti langkah-langkah berikut:

  1. Klik dua kali sel yang ingin diedit atau ditambahkan teks.
  2. Salin-tempel di keyboard, atau, jika memiliki keyboard yang mendukung tanda diakritik, ketik langsung ke tampilan daftar.
  3. Tab atau pindahkan kursor keluar dari kolom tersebut.

Untuk menghapus teks, lakukan langkah-langkah berikut:

  1. Klik dua kali sel yang ingin dihapus.
  2. Pada tampilan daftar, pilih teks lalu tekan Delete.
  3. Tab atau pindahkan kursor keluar dari kolom tersebut.

Kolom terjemahan

Untuk mengedit atau menambahkan teks, ikuti langkah-langkah berikut:

  1. Pada tampilan daftar, klik satu kali sel yang ingin diedit atau ditambahkan teks.
  2. Di kolom Translation, salin-tempel di keyboard, atau, jika memiliki keyboard yang mendukung tanda diakritik, ketik langsung ke kolom Translation.
  3. Tab atau pindahkan kursor keluar dari kolom tersebut.

Untuk menghapus teks, lakukan langkah-langkah berikut:

  1. Klik satu kali sel yang ingin Anda hapus.
  2. Di kolom Translation, pilih teks lalu tekan Delete.

Menambah dan menghapus kunci

Di Translations Editor, kolom Key mencantumkan ID unik untuk setiap item data dalam file strings.xml Anda. Anda dapat menambahkan dan menghapus kunci melalui Editor Terjemahan. Saat Anda menghapus kunci, Translations Editor akan menghapusnya beserta semua terjemahan yang terkait. Translations Editor menggunakan pemfaktoran ulang Safe Delete untuk menghapus kunci sehingga Anda tahu jika teks kunci digunakan di tempat lain dan dapat melakukan penyesuaian yang diperlukan sebelum menghapus kunci tersebut. Pemfaktoran ulang Safe Delete memastikan kode Anda tetap terkompilasi setelah Anda menghapus kunci.

Untuk menambahkan kunci, ikuti langkah-langkah berikut:

  1. Di Translations Editor, klik Add Key .
  2. Pada dialog, masukkan nama kunci, nilai default, dan lokasi file strings.xml default.

    Gambar 3. Menambahkan kunci

Untuk menghapus kunci, lakukan langkah-langkah berikut:

  1. Di Translations Editor, pilih kunci yang ingin dihapus.
  2. Klik Remove Keys .
  3. Pada dialog Delete, tentukan apakah Anda ingin menghapus dengan aman dan apakah Anda ingin menelusuri komentar dan string, lalu klik OK.

    Gambar 4. Menghapus dialog

    Jika tidak ada referensi (penggunaan) untuk kunci yang dihapus, atau jika semua referensi dapat diciutkan dengan aman, kunci tersebut akan dihapus. Jika tidak, Translations Editor akan menampilkan dialog Usages Detected berisi informasi tentang masalah yang terdeteksi.

    Gambar 5. Menghapus dialog

  4. Pilih View Usages untuk meninjau penggunaan yang akan dihapus. Dialog Find Safe Delete Conflicts menunjukkan semua penggunaan yang tidak aman untuk dihapus sehingga Anda dapat mengedit kode yang sesuai.

    Gambar 6. Penggunaan tidak aman

  5. Klik kanan penggunaan untuk menampilkan menu konteks, lalu pilih Jump to Source agar Anda dapat membuat perubahan yang diperlukan.
  6. Di panel Find Safe Delete Conflict, pilih Rerun Safe Delete untuk memastikan tidak ada penggunaan lain yang perlu diperhatikan.
  7. Ketika penggunaan dibersihkan, klik Do Refactor untuk menghapus kunci.

Memperbaiki error

Gambar 7 menunjukkan Translations Editor yang menampilkan isi file strings.xml dalam bahasa Inggris, Prancis, dan Spanyol. Teks merah menunjukkan baris yang memiliki error.

Gambar 7. Teks merah menunjukkan kondisi error yang harus Anda perbaiki

Untuk memperbaiki error, arahkan kursor ke teks merah untuk menampilkan penjelasan tentang masalah dan penyelesaiannya.

Jika Anda membuat perubahan di Translations Editor, file strings.xml yang mendasarinya akan diperbarui sesuai perubahan tersebut. Jika Anda membuat perubahan di file strings.xml, kolom yang sesuai di Translations Editor akan diperbarui sesuai perubahan tersebut.

Contoh koreksi Translations Editor:

  • Gambar 7 menunjukkan bahwa baris app_name mencentang Untranslatable, tetapi ada terjemahan bahasa Spanyol. Hapus terjemahan bahasa Spanyol untuk memperbaiki error.
  • Gambar 7 menunjukkan bahwa baris next_page tidak memiliki terjemahan bahasa Prancis. Gunakan keyboard untuk menyalin Page Suivante ke dalam sel untuk memperbaiki error. Tindakan salin-tempel di keyboard akan menyalin teks dengan tanda diakritik ke dalam sel.

Mengelola dan menguji teks yang dapat dilokalkan

Platform Android dan Android Studio menyediakan beberapa fitur untuk membantu Anda mengelola dan menguji teks aplikasi yang dapat dilokalkan. Fitur ini memiliki opsi untuk membantu Anda menargetkan masalah dengan skrip kanan-ke-kiri (RTL), seperti bahasa Arab atau Ibrani. Pengujian teks yang dapat dilokalkan memungkinkan Anda membuat penyesuaian terhadap teks UI dan tata letaknya sebelum memasukkan pesan ke repositori sumber agar dikirim untuk diterjemahkan nanti.

Mendukung bahasa RTL

Jetpack Compose menangani tata letak kanan-ke-kiri (RTL) secara native. Pengubah tata letak dan API dibangun berdasarkan konsep arah seperti start dan end, bukan arah absolut seperti left dan right. Saat bahasa sistem berubah ke lokalitas RTL, Compose akan otomatis mencerminkan tata letak ini untuk Anda.

Agar aplikasi Anda dapat mengenali lokalitas RTL dan memicu pencerminan ini, Anda harus memilih ikut serta menggunakan file manifes aplikasi Anda.

Untuk mengaktifkan dukungan RTL, lakukan hal berikut:

  1. Buka file AndroidManifest.xml Anda.
  2. Tambahkan atribut android:supportsRtl="true" ke elemen <application>:
<manifest ... >
    <application
        ...
        android:supportsRtl="true">
    </application>
</manifest>

Untuk mempelajari lebih lanjut cara Compose menangani tata letak teks, pencerminan, dan konfigurasi RTL kustom, lihat Bekerja dengan bahasa RTL.

Menetapkan arah teks secara manual

Di Jetpack Compose, Anda tidak menggunakan jendela Properties visual untuk memaksakan tata letak atau arah teks. Compose secara otomatis menangani pencerminan RTL berdasarkan lokalitas sistem.

Namun, jika Anda perlu mengganti arah secara manual untuk elemen teks tertentu (misalnya, menampilkan string LTR dalam tata letak RTL), Anda dapat meneruskan objek TextDirection ke TextStyle.

Nilai yang didukung meliputi:

Untuk mempelajari lebih lanjut cara menata gaya teks dan mengonfigurasi petunjuk teks manual di Compose, lihat Menata gaya teks.

Menggunakan string yang dilokalkan di aplikasi Anda

Setelah menambahkan dan menerjemahkan string menggunakan Translations Editor, file res/values/strings.xml yang mendasarinya akan otomatis diperbarui dan Anda dapat menggunakan resource yang dilokalkan secara langsung di UI.

Untuk mempelajari cara menampilkan teks yang dilokalkan, menangani RTL secara native, dan menggunakan @Preview untuk menguji berbagai lokalitas dan pseudolokalitas, lihat bagian String dari Resource di Compose.

Pseudolocale

Pseudolocale adalah lokalitas tersimulasi yang dirancang untuk mengasumsikan karakteristik bahasa yang menyebabkan masalah UI, tata letak, RTL, dan masalah terjemahan lainnya saat aplikasi diterjemahkan. Pseudolocale menyediakan terjemahan instan dan otomatis yang dapat dibaca dalam bahasa Inggris untuk semua pesan yang dapat dilokalkan. Hal ini memungkinkan Anda menangkap pesan yang tidak dapat diterjemahkan dalam kode sumber.

Untuk mengetahui informasi tentang cara menggunakan pseudolocale, lihat Menguji aplikasi Anda dengan pseudolocale.

Referensi lainnya

Melihat konten