
Panduan / Di balik layar
Cara Kami Menerjemahkan Game Mobile Kami ke 14 Bahasa
Apa saja yang dibutuhkan untuk membawa game Android kami ke 14 bahasa: cara kami menyusun file teks, kenapa aturan bentuk jamak dan font itu penting, kesalahan terjemahan yang terus muncul lagi, bug yang hanya menimpa HP di Eropa, dan kenapa 14 bahasa berarti 16 halaman toko.
Keenam game kami sudah diterjemahkan penuh ke 14 bahasa: Inggris, Jerman, Spanyol, Prancis, Kroasia, Indonesia, Italia, Jepang, Korea, Portugis, Rusia, Slovenia, Turki, dan Mandarin Tradisional. Empat game pertama, yaitu Idle Ronin, Idle Summoner, Idle AI Factory, dan Block Brain, bersama-sama berisi sekitar 2.100 teks bahasa Inggris, dari 254 di Block Brain sampai 1.253 di Idle Ronin, dan masing-masing diterjemahkan 13 kali. Idle Restaurant: Miami dan ONI Snakes dirilis dalam 14 bahasa yang sama. Inilah yang dibutuhkan, dan inilah yang akan kami lakukan lagi.
Satu file teks per bahasa, dengan konteks
Setiap game punya satu file teks biasa per bahasa. Satu entri berisi baris sumber bahasa Inggris, ditandai dengan @, diikuti terjemahannya, ditandai dengan =, dan sebagian besar entri punya komentar yang ditulis untuk penerjemah. Ini monster pertama di file bahasa Inggris Idle Summoner:
# monster name with its number in the summon chain (1-55); names appear on small labels
@ {0}. Slime
Komentar itu adalah hal paling berguna yang kami tambahkan. File bahasa Inggris Idle Summoner punya 156 komentar untuk 258 teks. Penerjemah yang tahu bahwa sebuah teks muncul di label kecil, atau bahwa {0} adalah angka, jauh lebih jarang salah daripada penerjemah yang hanya menebak dari kata-katanya.
Memakai teks bahasa Inggris itu sendiri sebagai kunci membuat file mudah dibaca, tapi ada jebakannya. Teks yang sama di kedua kolom tidak otomatis berarti nama yang harus tetap dalam bahasa Inggris: di Idle Ronin, sekitar 680 dari 1.185 entri pertama sama persis dengan teks bahasa Inggrisnya. Hanya nama diri sungguhan yang tetap dalam bahasa Inggris, yaitu nama 19 Guardian, nama unit, dan 12 kostum, dan skrip build kami mengunci tepat nama-nama itu.
Aturan bentuk jamak bukan pilihan
Bahasa Inggris punya dua bentuk: 1 unit, 2 units. Banyak bahasa punya lebih, dan aturannya berbeda-beda. Kode Loc kami mengikuti aturan bentuk jamak untuk bilangan bulat dari tabel Unicode CLDR:
| Bahasa | Bentuk yang dipakai kode kami |
|---|---|
| Inggris, Jerman, Spanyol, Italia | one, other |
| Prancis, Portugis | one (0 dan 1), other |
| Kroasia | one, few, other |
| Rusia | one, few, many |
| Slovenia | one, two, few, other |
| Turki, Indonesia, Jepang, Korea, Mandarin | satu bentuk saja |
Bahasa Slovenia yang paling mengejutkan: bahasa ini punya bentuk khusus untuk dua, jadi yang benar adalah “2 enoti” tetapi “5 enot”. Kalau kodemu hanya mengenal bentuk tunggal dan jamak, setiap bahasa ini akan menampilkan tata bahasa yang salah di suatu tempat.
Font: huruf yang ternyata tidak ada
Font teks Idle Summoner adalah salinan Noto Sans KR Black yang sudah dipangkas, tanpa č, š, ž, dan ć, aksen Eropa Barat, huruf Turki, dan Mandarin Tradisional. Huruf yang hilang itu kadang beralih ke font HP, kadang tidak tampil sama sekali. Kami membangun ulang font itu dengan setiap huruf yang dipakai tabel kami dan menambahkan Noto Sans JP untuk bahasa Jepang serta Noto Sans TC untuk Mandarin Tradisional. Label dengan font pixel game hanya mempertahankan font itu selama teksnya cukup dengan huruf yang dimiliki font tersebut.
Font juga bisa menipu. Di font Korea Idle Ronin, huruf N kapital digambar sedemikian rupa sehingga ON dan OFF terbaca seperti “OΠ”. Kami mengganti tombol-tombol itu dengan kata Korea 켜기 dan 끄기, yang memang lebih mudah dibaca.
Kesalahan yang kembali di setiap bahasa
Bagaimanapun sebuah game diterjemahkan, draf pertama jarang langsung siap. Draf kami mengulang segelintir kesalahan yang sama di hampir setiap bahasa, yaitu kesalahan yang pertama kali ditemukan oleh tinjauan bahasa Slovenia kami sendiri:
- “Particle”, sebuah pengaturan grafis, diterjemahkan dengan istilah fisika, bukan “Efek”.
- “Stack”, salinan tambahan sebuah unit, dibiarkan dalam bahasa Inggris atau diterjemahkan sebagai “tumpukan”, bukan “salinan”.
- Misi mengalahkan monster bernama Treasure Chest diterjemahkan menjadi menghancurkan peti harta.
- Teks diterjemahkan dengan panjang penuh untuk baris dan lencana yang hanya muat satu atau dua kata.
- “FIGHT FLOOR {0}” diterjemahkan dengan kata kerja berlebih yang membuat tombolnya terlalu panjang.
Karena itu kami menulis pemeriksa yang menampilkan tepat teks-teks itu untuk bahasa apa pun, dan kami menyerahkan daftarnya sebelum penerjemahan dimulai. Dua bahasa yang diterjemahkan dengan daftar di tangan tidak perlu perbaikan apa pun; bahasa yang diterjemahkan tanpa daftar butuh sekitar enam perbaikan masing-masing.
Periksa layarnya, bukan hanya filenya
Sebuah file bisa lengkap sementara layar masih menampilkan bahasa Inggris. Tes kami: ganti bahasa game ke bahasa lain, kumpulkan semua teks yang terlihat di layar, lalu bandingkan dengan file bahasa Inggris. Apa pun yang masih berbahasa Inggris adalah label yang tidak pernah diterjemahkan oleh kode. Di Idle Ronin, penyisiran ini menemukan tombol OPEN yang selalu terlihat dan tombol pengaturan yang tertahan di bahasa yang aktif saat menu pertama kali dibuka.
Setelah itu, cek apakah semuanya muat di resolusi HP sungguhan. Kami melihat setiap layar di 1080 x 2400 dalam bahasa-bahasa terpanjang serta dalam bahasa Jepang, Korea, Mandarin, dan Rusia, dan kami lebih memilih memendekkan teks daripada mengecilkannya sampai tidak ada yang bisa membacanya.
Koma yang merusak data simpanan di Eropa
Satu bug sama sekali tidak berhubungan dengan kata-kata. Di game yang sedang kami buat, data simpanan menggabungkan angka dengan koma. Di HP yang bahasanya menulis desimal dengan koma, seperti di sebagian besar Eropa, 7392.58 menjadi 7392,58, koma tambahan itu memecah angkanya menjadi dua, dan setiap nilai setelahnya bergeser satu posisi. Developer yang menguji dalam bahasa Inggris tidak akan pernah melihatnya. Solusinya adalah satu baris saat game dimulai yang mengunci format angka ke invariant culture, ditambah pengaman supaya data simpanan yang sudah rusak tetap bisa dimuat.
14 bahasa, 16 halaman toko
Google Play punya halaman terpisah untuk bahasa Spanyol di Spanyol dan Amerika Latin, serta untuk bahasa Portugis di Portugal dan Brasil. Kami memakai satu terjemahan di dalam game untuk setiap bahasa, tapi menulis teks toko secara terpisah untuk setiap pasar, dengan kata kunci pencariannya sendiri. Hasilnya 16 halaman per game, masing-masing dengan judul, deskripsi singkat, deskripsi lengkap, dan screenshot sendiri. Situs web kami mengikuti pola yang sama, dan cara kami membangunnya kami jelaskan di postingan terpisah.
Yang akan kami lakukan lagi
- Tulis komentar konteks untuk setiap teks.
- Kunci nama diri di dalam build, bukan di kepala penerjemah.
- Terapkan aturan bentuk jamak sebelum terjemahan pertama datang.
- Pastikan font-mu berisi setiap huruf yang dipakai tabelmu.
- Simpan daftar teks bermasalah yang sudah diketahui dan serahkan sejak awal.
- Sisir layar dalam bahasa lain untuk mencari sisa bahasa Inggris.
- Tulis data simpanan dalam invariant culture.
- Rencanakan 16 halaman toko, bukan 14.
Mau melihat hasilnya? Ganti bahasa di Idle Ronin, Idle Summoner, Idle AI Factory, Block Brain, Idle Restaurant: Miami, atau ONI Snakes: semuanya berbicara dalam ke-14 bahasa itu.
Sumber
- Unicode CLDR, Language Plural Rules.
- Kode game ONI Games, September 2026: Idle Summoner (Loc.cs, LocFonts.cs, Localization/Summoner/en.txt), Idle Ronin (Localization/Ronin), Idle AI Factory (Localization/AIFactory), Block Brain (Localization/Brain).








