Cara Melokalkan Aplikasi Mobile

OpenL Team 3/14/2026

TABLE OF CONTENTS

Jika Anda sedang mencari cara untuk melakukan lokalisasi aplikasi mobile, biasanya Anda tidak membutuhkan “tips penerjemahan.” Anda memerlukan alur kerja yang aman untuk rilis yang mencakup string aplikasi, tata letak, aturan jamak, dukungan kanan-ke-kiri, tangkapan layar, dan metadata toko tanpa merusak produk.

Inilah perbedaannya: lokalisasi aplikasi mobile bukan sekadar menerjemahkan teks. Ini adalah proses adaptasi aplikasi, halaman produk, dan proses QA untuk setiap pasar target. Apple menyatakan bahwa App Store tersedia di 175 wilayah dan 40 bahasa, sementara Android 13 memperkenalkan preferensi bahasa per aplikasi di tingkat sistem. Dengan kata lain, kedua platform utama kini menganggap pilihan bahasa sebagai pengalaman inti produk, bukan sekadar tambahan.

Panduan ini membahas langkah-langkah praktis untuk tim iOS dan Android.

Sekilas:

  • Pisahkan lokalisasi dalam aplikasi dari lokalisasi App Store dan Google Play.
  • Eksternalisasi string sebelum menerjemahkan apa pun.
  • Tangani jamak, variabel, tanggal, mata uang, dan RTL sejak awal.
  • Uji dengan pseudolanguage sebelum mengirimkan terjemahan asli.
  • Lokalisasi tangkapan layar dan aset toko, bukan hanya deskripsi.

Apa Saja yang Termasuk dalam Lokalisasi Aplikasi Mobile

Pekerjaan lokalisasi biasanya terbagi menjadi dua jalur.

1. Lokalisasi dalam aplikasi

Ini adalah produk itu sendiri:

  • String UI
  • pesan error dan teks onboarding
  • tanggal, waktu, angka, mata uang, dan satuan
  • string jamak dan sensitif gender
  • perluasan tata letak dan perilaku kanan-ke-kiri
  • gambar atau ikon yang mengandung teks atau makna arah

Apple secara eksplisit merekomendasikan penggunaan Xcode, Foundation API, Auto Layout, dukungan Unicode, katalog aset lokal, dan simbol yang peka arah untuk mempersiapkan aplikasi ke pasar global. Android juga merekomendasikan sumber daya yang peka lokal, dukungan bahasa aplikasi, dan tata letak yang peka RTL daripada teks dan posisi yang dikodekan secara tetap.

2. Lokalisasi listing toko

Ini adalah cara pengguna menemukan aplikasi Anda:

  • nama aplikasi
  • subjudul atau deskripsi singkat
  • deskripsi lengkap
  • kata kunci
  • tangkapan layar
  • pratinjau aplikasi atau video promosi

Anggap ini sebagai deliverable terpisah. Aplikasi yang sudah dilokalkan dengan baik tetap bisa kurang optimal jika halaman produk terasa umum, belum diterjemahkan, atau visualnya tidak sesuai dengan pasar target.

Mulai Dengan Internasionalisasi, Bukan Terjemahan

Terjemahan adalah langkah terakhir dalam sebuah pipeline yang dimulai dari struktur.

Eksternalisasi string dan jaga satu locale fallback yang lengkap

Di Android, Google memperingatkan bahwa file default res/values/strings.xml harus mendefinisikan setiap string yang dibutuhkan aplikasi Anda. Jika file default tidak lengkap dan perangkat berjalan pada locale yang tidak didukung, aplikasi bisa gagal dimuat dan menampilkan error dengan tombol Force Close. Itulah mengapa lokalisasi dimulai dari kebersihan sumber daya, bukan pemilihan bahasa.

Untuk iOS, Apple merekomendasikan memisahkan teks dan gambar yang terlihat oleh pengguna dari kode eksekusi sehingga dapat dilokalkan sebagai file sumber daya. Dalam workflow Apple modern, string catalog adalah pendekatan yang direkomendasikan di Xcode 15 dan versi terbaru untuk string yang mengandung bentuk jamak.

Aturan praktis:

  • jangan pernah menulis teks UI secara hardcode di view atau controller
  • jaga satu bahasa sumber utama
  • pastikan setiap string yang tampil ke pengguna memiliki key, konteks, dan fallback yang stabil
  • sertakan komentar penerjemah untuk string yang ambigu

Contoh kecil akan memudahkan gambaran ini.

Android biasanya dimulai dengan file default strings.xml:

<!-- CTA utama di layar checkout. Singkat saja. -->
<string name="checkout_cta">Bayar sekarang</string>
<string name="welcome_title">Selamat datang kembali, %1$s</string>

Kemudian UI Anda membaca resource tersebut, bukan menulis bahasa Inggris secara hardcode:

Text(text = stringResource(R.string.checkout_cta))

Di platform Apple, Xcode 15+ sering mengelola ide yang sama dalam string catalog. Cuplikan sederhana dari Localizable.xcstrings bisa terlihat seperti ini:

{
  "sourceLanguage": "en",
  "strings": {
    "Pay now": {
      "localizations": {
        "en": { "stringUnit": { "value": "Pay now" } },
        "fr": { "stringUnit": { "value": "Payer maintenant" } }
      }
    }
  }
}

Anda tidak perlu menghafal format file ini. Pelajaran operasionalnya lebih sederhana: setiap string yang terlihat oleh pengguna membutuhkan satu sumber kebenaran, konteks yang cukup untuk penerjemah, dan fallback yang aman ketika lokal belum lengkap.

Jika aplikasi Anda juga menggunakan file bahasa terstruktur, panduan kami tentang Penerjemah JSON Terbaik di 2026 dapat membantu Anda mempertimbangkan otomatisasi dan pelestarian format.

Jika Anda mencari opsi alat langsung untuk file sumber daya aplikasi, OpenL JSON Translator patut dicoba. Alat ini dirancang untuk menerjemahkan file .json tanpa merusak kunci atau struktur, yang sangat penting ketika string aplikasi disimpan dalam file lokal yang dapat dibaca mesin. Alur kerjanya sederhana: unggah file JSON yang diekspor dari aplikasi, CMS, atau pipeline lokal Anda, pilih bahasa target, dan unduh file JSON yang sudah diterjemahkan dengan struktur yang sama. Menurut halaman produk, alat ini mendukung lebih dari 100 bahasa dan file hingga 50 MB, sehingga menjadi solusi praktis bagi tim lokalisasi aplikasi yang menangani konten terstruktur.

Mendukung pemilihan bahasa di tingkat aplikasi

Pengguna kini semakin mengharapkan dapat memilih bahasa aplikasi secara terpisah dari bahasa perangkat mereka.

Di platform Apple, pengguna dapat memilih bahasa yang mereka inginkan untuk aplikasi secara independen dari bahasa perangkat. Di Android, Android 13 menambahkan pengaturan bahasa aplikasi terpusat, dan Google merekomendasikan untuk mengaktifkan dukungan bahasa otomatis per aplikasi atau menghubungkan pemilih bahasa Anda ke API resmi.

Ini penting untuk produk nyata. Pengguna dwibahasa dan multibahasa mungkin tetap menggunakan ponsel mereka dalam bahasa Inggris, tetapi lebih memilih aplikasi belanja, perbankan, atau pengantaran dalam bahasa lain. Jika aplikasi Anda memaksa penggunaan satu model bahasa, Anda sudah menciptakan hambatan bahkan sebelum kualitas terjemahan menjadi pertanyaan.

Gunakan stack lokalisasi bawaan platform

Tahan keinginan untuk menciptakan sistem lokalisasi paralel kecuali Anda benar-benar membutuhkannya.

Untuk sebagian besar tim, stack platform bawaan sudah cukup:

  • iOS: katalog string, Localizable.strings, .stringsdict, Foundation formatters, Auto Layout
  • Android: res/values/, folder resource khusus lokal, LocaleConfig, setApplicationLocales(), supportsRtl

Infrastruktur lokalisasi kustom masuk akal pada skala yang sangat besar, tetapi menambah beban operasional. Mulailah dengan sistem bawaan, lalu lakukan ekstensi hanya jika Anda benar-benar merasakan kebutuhan.

Lokalkan Bagian yang Sering Terlewatkan oleh Banyak Tim

Tim sering kali hanya menerjemahkan kalimat yang terlihat dan melewatkan mekanisme produk di sekitarnya.

Bentuk jamak, variabel, dan tata bahasa

Aturan bentuk jamak tidak bersifat universal. Aturan bentuk jamak Unicode CLDR mendefinisikan kategori seperti zero, one, two, few, many, dan other, dan setiap bahasa menggunakan subset yang berbeda. Apple mencatat bahwa dalam workflow .stringsdict lama, kategori other adalah satu-satunya yang wajib, tetapi melewatkan kategori khusus bahasa tetap dapat menghasilkan keluaran yang salah secara tata bahasa. Baik Android maupun iOS sama-sama mengandalkan penanganan bentuk jamak yang sadar lokal karena alasan ini.

Di sinilah terjemahan mesin yang naif sering gagal:

  • 1 file vs 2 files mudah dalam bahasa Inggris
  • Bahasa Slavia sering membutuhkan lebih dari dua bentuk jamak
  • beberapa bahasa mengubah kata benda, kata kerja, atau kata di sekitarnya secara bersamaan

Jangan pernah membangun UI bentuk jamak dengan menggabungkan potongan seperti "You have " + count + " messages". Gunakan resource bentuk jamak bawaan platform.

Berikut adalah bentuk minimalnya di masing-masing platform.

Android:

<plurals name="files_remaining">
  <item quantity="one">%1$d berkas tersisa</item>
  <item quantity="other">%1$d berkas tersisa</item>
</plurals>
Text(text = pluralStringResource(R.plurals.files_remaining, count, count))

Contoh .stringsdict legacy iOS:

<plist version="1.0">
<dict>
  <key>%#@files@</key>
  <dict>
    <key>NSStringLocalizedFormatKey</key>
    <string>%#@files@</string>
    <key>files</key>
    <dict>
      <key>NSStringFormatSpecTypeKey</key>
      <string>NSStringPluralRuleType</string>
      <key>NSStringFormatValueTypeKey</key>
      <string>d</string>
      <key>one</key>
      <string>%d berkas tersisa</string>
      <key>other</key>
      <string>%d berkas tersisa</string>
    </dict>
  </dict>
</dict>
</plist>

Pada Xcode 15 dan versi lebih baru, Apple merekomendasikan penanganan bentuk jamak melalui katalog string, namun prinsipnya tetap sama: berikan satu pola pesan kepada platform dan biarkan sistem memilih bentuk bahasa yang tepat.

Untuk panduan workflow yang lebih mendalam terkait placeholder dan string terstruktur, lihat Cara Menerjemahkan Dokumen Teknis Tanpa Merusak Kode.

Tanggal, angka, mata uang, dan satuan

Apple secara eksplisit merekomendasikan penggunaan API Foundation untuk memformat tanggal, panjang, berat, harga, dan simbol mata uang di berbagai lokal. Prinsip yang sama berlaku di Android: format data dengan API yang sadar lokal, bukan dengan menghardcode tanda baca, tanda desimal, atau urutan satuan.

Kesalahan umum meliputi:

  • 03/04/2026 berarti hal yang berbeda di berbagai wilayah
  • tanda dolar yang di-hardcode untuk pasar non-USD
  • 1,234.56 ditampilkan secara salah di lokal yang menggunakan koma sebagai pemisah desimal
  • satuan pengukuran ditampilkan dalam sistem yang salah

Jika aplikasi Anda memuat fitur penjadwalan, penagihan, jendela pengiriman, atau analitik, ini adalah bagian dari lokalisasi, bukan sekadar pemolesan.

Ekspansi tata letak dan dukungan kanan-ke-kiri

Bahasa Inggris biasanya ringkas. Bahasa Jerman cenderung lebih panjang. Bahasa Arab dan Ibrani membalik arah membaca. Tata letak yang terlihat baik dalam bahasa Inggris bisa rusak parah di lokal lain.

Apple merekomendasikan pengujian dengan pseudolanguage, termasuk pseudolanguage kanan-ke-kiri dan pseudolanguage dua kali panjang, bahkan sebelum Anda mengimpor terjemahan asli. Android merekomendasikan penggunaan start dan end alih-alih left dan right, mengaktifkan android:supportsRtl="true", dan menguji tata letak RTL langsung di perangkat dengan Force RTL.

Daftar periksa Anda di sini sederhana:

  • izinkan tombol dan label untuk berkembang
  • hindari wadah teks dengan lebar tetap untuk UI penting
  • cerminkan UI yang bersifat arah jika diperlukan
  • verifikasi ikon, chevron, alur progres, dan carousel dalam RTL
  • uji teks campuran arah seperti UI Arab dengan nama produk Latin atau kode kupon

Gambar, ikon, tangkapan layar, dan video

Panduan lokalisasi Apple menekankan poin penting yang sering diabaikan banyak tim: gambar juga bisa dilokalisasi. Itu termasuk set gambar, set simbol, dan arah untuk simbol khusus. Jika tangkapan layar Anda berisi UI berbahasa Inggris, teks Inggris di banner, atau panah kiri-ke-kanan, maka tangkapan layar itu sendiri belum dilokalisasi.

Hal ini sangat penting untuk layar onboarding, kartu tutorial, dan aset App Store. Pengguna tidak memisahkan secara mental “visual pemasaran” dari “bahasa produk.” Mereka menilai seluruh pengalaman sekaligus.

Lokalisasi Halaman App Store dan Google Play Secara Terpisah

Di sinilah banyak tim kehilangan instalasi meskipun pekerjaan di dalam aplikasi sudah baik.

Persyaratan App Store yang Perlu Direncanakan

Apple merekomendasikan untuk melakukan lokalisasi metadata di App Store Connect, termasuk deskripsi aplikasi, kata kunci, pratinjau aplikasi, dan tangkapan layar. Apple juga menyebutkan bahwa Anda dapat menampilkan hingga 10 tangkapan layar di halaman produk Anda, dan hingga 3 pratinjau aplikasi untuk setiap ukuran perangkat dan bahasa yang didukung. Pratinjau aplikasi dapat berdurasi hingga 30 detik, dan tangkapan layar menjadi semakin penting jika tidak ada pratinjau, karena satu hingga tiga tangkapan layar pertama dapat muncul di hasil pencarian.

Hal ini memiliki dua implikasi:

  1. Tangkapan layar pertama Anda adalah aset untuk meningkatkan visibilitas, bukan sekadar dokumentasi.
  2. Anda sebaiknya melakukan lokalisasi tangkapan layar dan pratinjau untuk pasar prioritas utama, bukan hanya menggunakan aset berbahasa Inggris di semua tempat.

Persyaratan Google Play yang perlu direncanakan

Google Play juga memperlakukan lokalisasi daftar aplikasi sebagai alur kerja tersendiri. Play Console memungkinkan Anda menambahkan teks yang dilokalisasi, tangkapan layar dalam bahasa lokal, dan aset grafis yang dilokalisasi. Jika Anda menambahkan terjemahan teks tanpa aset grafis yang dilokalisasi, Google menyatakan bahwa visual dalam bahasa default tetap akan ditampilkan.

Google juga mencatat bahwa jika Anda tidak menambahkan terjemahan daftar toko sendiri, pengguna mungkin akan melihat terjemahan otomatis dengan pemberitahuan bahwa terjemahan tersebut dihasilkan secara otomatis. Hal ini berguna sebagai cadangan, namun bukan strategi yang kuat untuk memasuki pasar.

Satu fitur terbaru yang sangat relevan: Play Console menyatakan bahwa mereka dapat menerjemahkan string aplikasi secara kontinu menggunakan model Gemini tanpa biaya. Lebih spesifik lagi, Google menyebutkan bahwa ini berlaku untuk string aplikasi dari strings.xml dalam app bundle yang diunggah ke draft release, dan Anda dapat melihat pratinjau terjemahan yang dihasilkan di emulator bawaan sebelum dipublikasikan. Ini adalah cara yang kuat untuk mempercepat cakupan terjemahan tahap awal, namun tetap harus dilanjutkan dengan tinjauan manusia untuk alur-alur penting.

Bangun Alur Kerja Rilis dan QA

Proses lokalisasi yang baik bukan soal menerjemahkan lebih cepat, melainkan soal mengurangi kejutan saat aplikasi dirilis.

Langkah 1. Pilih target lokal secara sengaja

Jangan mulai dengan “terjemahkan semuanya ke 20 bahasa.”

Mulailah dengan:

  • komposisi unduhan Anda saat ini
  • negara yang benar-benar Anda dukung
  • cakupan pembayaran, hukum, dan dukungan pelanggan
  • apakah Anda bisa melokalkan aplikasi dan listing toko secara bersamaan

Merilis satu pasar secara menyeluruh biasanya lebih baik daripada merilis lima pasar setengah-setengah.

Langkah 2. Siapkan aset yang siap dilokalkan

Sebelum proses terjemahan dimulai, pastikan dan siapkan:

  • string sumber beserta konteksnya
  • daftar tangkapan layar per lokal
  • glosarium dan aturan penamaan produk
  • aturan placeholder
  • panduan batas karakter untuk teks di toko aplikasi
  • penanggung jawab review khusus per lokal

Jika aplikasi menggunakan repo terpisah atau beberapa format file, standarisasi penamaan dan proses ekstraksi sejak awal.

Langkah 3. Uji dengan pseudolocalization terlebih dahulu

Di platform Apple, gunakan pseudolanguage dengan panjang ganda dan arah kanan-ke-kiri. Di Android, uji lokal yang tidak didukung, paksa RTL, dan pengaturan bahasa aplikasi. Ini akan membantu menemukan:

  • tombol yang terpotong
  • judul yang terpotong
  • teks tersembunyi
  • perataan yang salah
  • string yang tidak dilokalkan
  • asumsi kiri/kanan yang dikodekan secara statis

Ini adalah salah satu proses QA termurah yang bisa Anda lakukan.

Langkah 4. Jalankan QA linguistik di perangkat nyata

Setelah terjemahan masuk:

  • uji alur kritis dalam setiap bahasa target
  • bandingkan perilaku bahasa sistem dan bahasa aplikasi
  • verifikasi perilaku jamak dan placeholder
  • periksa pembayaran, tanggal, dan alamat
  • tinjau tangkapan layar dan daftar toko di pasar

Jika ada bug yang memengaruhi onboarding, pembayaran, verifikasi identitas, atau notifikasi, perlakukan sebagai penghambat rilis.

Daftar periksa sprint lokalisasi pertama

Jika ini adalah peluncuran serius pertama Anda, buat sprint cukup kecil agar bisa selesai dengan bersih:

  • Pilih 1 lokal target, bukan 10.
  • Bekukan string sumber untuk satu cabang rilis.
  • Ekspor semua string onboarding, pembayaran, akun, dan notifikasi beserta komentar konteks.
  • Ambil tangkapan layar yang ingin Anda lokalisasi untuk App Store dan Google Play.
  • Jalankan satu putaran pseudolokalisasi sebelum mengirim teks asli ke penerjemah.
  • Terjemahkan string aplikasi dan salinan daftar toko dalam sprint yang sama.
  • Impor ulang terjemahan dan uji pengalihan bahasa aplikasi di iOS dan Android.
  • QA 5 perjalanan pengguna teratas di perangkat nyata.
  • Perbarui tangkapan layar, pratinjau aplikasi, dan metadata toko untuk lokal yang sama.
  • Rilis ke TestFlight atau jalur internal terlebih dahulu, lalu pantau tiket dukungan dan laporan crash.

Daftar periksa ini sengaja dibuat sempit. Satu lokal dengan pengalaman aplikasi yang bersih dan aset toko yang sinkron akan mengajarkan jauh lebih banyak daripada peluncuran terburu-buru di banyak pasar.

Contoh Dunia Nyata

Ide inti di atas bukanlah teori.

DoorDash membangun penerjemahan sebagai masalah platform

Pada tahun 2022, DoorDash mengatakan bahwa mereka telah menerjemahkan lebih dari satu juta string ke dalam empat bahasa dan mengurangi proses onboarding bahasa baru dari berjam-jam kerja pengembang menjadi satu perintah dalam satu menit. Pelajaran menarik di sini bukan hanya soal skala, tetapi juga struktur: DoorDash memisahkan string statis dan dinamis, menambahkan dukungan glosarium dan panduan gaya, serta membangun pengaman agar string yang belum diterjemahkan tidak lolos.

Dalam posting blog DoorDash tanggal 2 Februari 2026, perusahaan menyatakan bahwa platform onboarding yang telah dibangun ulang kini mendukung pendaftaran di semua pasar DoorDash dan memungkinkan peluncuran internasional dengan lokalisasi yang mulus. Inilah gambaran lokalisasi yang matang: alur kerja yang dapat digunakan kembali, fleksibilitas regional, dan minim solusi satu kali.

Meta menganggap lokalisasi sebagai masalah bahasa sekaligus masalah ukuran aplikasi

Meta menyebut sekitar 57% pengguna Facebook untuk Android dan 49% pengguna Facebook untuk iOS menggunakan aplikasi dalam bahasa selain Inggris. Dalam tulisan yang sama, Meta mengatakan bahwa menghapus file terjemahan yang dibundel menghemat hingga 16,6 MB di aplikasi iOS dan memungkinkan Android menambah hampir selusin bahasa lagi tanpa meningkatkan ukuran aplikasi.

Pelajaran yang bisa diambil sangat berguna bahkan untuk tim kecil: lokalisasi memiliki konsekuensi teknis. Hal ini memengaruhi ukuran binary, pemuatan saat runtime, pengiriman terjemahan, dan mekanisme rilis, bukan sekadar penulisan naskah.

Daftar Periksa Akhir Sebelum Anda Meluncurkan

Gunakan ini sebagai pemeriksaan terakhir:

  • Semua string yang terlihat oleh pengguna telah dieksternalisasi.
  • Sumber daya fallback default sudah lengkap.
  • Bentuk jamak dan placeholder menggunakan dukungan lokalisasi asli platform.
  • Tanggal, waktu, angka, mata uang, dan satuan sudah disesuaikan dengan lokal.
  • Tata letak RTL dan teks dengan arah campuran telah diuji.
  • Teks listing toko telah dilokalkan untuk pasar target.
  • Screenshot dan preview telah dilokalkan untuk bahasa prioritas.
  • Pemilihan bahasa dalam aplikasi berfungsi sesuai harapan di iOS dan Android.
  • QA linguistik telah mencakup perjalanan pengguna yang paling penting.

Pemikiran Akhir

Cara paling sederhana untuk memahami lokalisasi aplikasi mobile adalah: terjemahkan produknya, lokalisasikan pengalamannya, dan uji rilisnya.

Jika Anda melakukannya untuk pertama kali, jangan langsung menargetkan cakupan global yang sempurna di hari pertama. Pilih satu atau dua lokal strategis, lokalisasikan aplikasi dan halaman toko secara bersamaan, lakukan QA yang serius, dan pelajari dari penggunaan nyata. Jika Anda sudah mengelola file sumber daya dan konten untuk pengembang, padukan alur kerja ini dengan Cara Menerjemahkan Dokumen Teknis Tanpa Merusak Kode dan Translator JSON Terbaik di 2026.

Jika Anda hanya mengambil satu tindakan minggu ini, lakukan ini: pilih 1 lokal, jalankan 1 proses pseudolokalisasi, dan lokalisasikan 1 listing App Store atau Google Play yang sesuai. Tes tiga bagian itu akan memberi Anda lebih banyak informasi tentang kesiapan Anda dibandingkan menerjemahkan dua puluh lokal secara paralel.

Jika Anda membutuhkan proses cepat untuk salinan aplikasi, screenshot, atau file bahasa terstruktur, gunakan otomatisasi untuk mempercepat draft, lalu tetap lakukan QA manusia sebelum rilis. Inilah bagian yang menjaga kepercayaan pengguna dan mencegah peluncuran “diterjemahkan tapi belum benar-benar dilokalkan”.

Referensi