Skip to main content
LINE / Airbnb / Change.org / KakaoTalk

Konsultasi Internasionalisasi: Perbaiki Masalah yang Ada, Rencanakan Langkah Selanjutnya

Anda sudah tahu i18n itu sulit. Saya sudah sering melihat gejalanya: tata letak RTL yang berantakan, teks Jerman yang meluap dari tombol, respons API dalam bahasa yang salah, dan terjemahan yang tidak sinkron hanya dalam hitungan minggu setelah peluncuran. Saya tidak menjual solusi instan. Saya membantu Anda membereskan masalah spesifik yang dialami tim Anda—dan membangun sistem yang tidak akan rusak dengan cara yang sama untuk kedua kalinya.

"Harusnya Kita Rencanakan Lebih Awal"

Beban Arsitektur yang Anda Tanggung Sekarang

Anda meluncurkan produk dalam bahasa Inggris. Berhasil. Lalu Anda menambahkan bahasa Prancis "cuma untuk landing page." Sekarang Anda ada di sini karena:

Codebase Anda memiliki pemeriksaan lang= yang tersebar di 47 file

Manajer produk bertanya "bisakah kita A/B test copy-nya?" dan tim engineering menjawab "tidak bisa kecuali ditulis ulang"

Anda punya tiga alur kerja terjemahan yang berbeda, dan tidak satu pun yang berjalan dengan andal

Masalah yang sering saya temui:

  • Tim yang menghabiskan lebih dari 6 bulan untuk menyisipkan i18n ke aplikasi Next.js karena string di-hardcode di dalam komponen
  • File terjemahan menjadi tidak sinkron karena pengembang tidak tahu file mana yang harus diperbarui
  • Periode "pembekuan lokalisasi" sebelum rilis karena tidak ada yang memercayai alur terjemahan.
  • Enggan mengubah konten terjemahan apa pun karena alur kerjanya terlalu merepotkan

Yang saya bantu:

  • Strategi refactoring yang memungkinkan Anda mengadopsi i18n secara bertahap (saya tidak meminta Anda "hentikan semuanya dan tulis ulang")
  • Desain proses untuk menjaga terjemahan tetap sinkron tanpa menghambat pengembangan.
  • Tinjauan arsitektur untuk mengidentifikasi di mana pendekatan Anda saat ini akan bermasalah pada lebih dari 10 bahasa

i18n adalah arsitektur, bukan fitur. Menambahkannya belakangan itu seperti memutuskan rumah Anda butuh ruang bawah tanah setelah rumahnya sudah dibangun.

Saya bantu Anda menggali ruang bawah tanah itu—atau memutuskan apakah Anda benar-benar membutuhkannya.

RTL Merusak Segalanya

UI Anda Tidak Dirancang untuk Bahasa Arab, Ibrani, atau Urdu

Anda mengubah dir="rtl" dan menyaksikan tata letak Anda berantakan:

Dropdown terbuka ke arah yang salah
Ikon mengarah ke arah yang salah
Tata letak Flexbox runtuh atau menghasilkan tumpang tindih yang aneh
Tooltip muncul di luar layar
Elemen mengambang mengabaikan arah teks sepenuhnya

Yang sudah saya lihat:

  • Sistem desain dengan lebih dari 200 komponen, tetapi hanya 12 yang menangani RTL dengan benar
  • Tim yang masih menggunakan float: left alih-alih properti logis, sehingga menciptakan bug RTL di setiap fitur baru
  • Popover dan modal yang memerlukan override RTL khusus per komponen
  • Framework yang mengklaim "dukungan RTL" tetapi hanya membalik arah tata letak dan merusak logika penempatan

Yang saya bantu:

  • Migrasi ke properti logis CSS (margin-inline-start sebagai pengganti margin-left)
  • Audit sistem desain untuk menemukan jebakan RTL sebelum masuk produksi
  • Panduan khusus per framework (Tailwind, shadcn, MUI) untuk styling yang mengutamakan RTL

Memperbaiki bug RTL secara manual di setiap komponen itu tidak berkelanjutan. Saya menjadikan dukungan RTL sebagai sistem yang terstruktur, bukan pemadam kebakaran tanpa henti.

"Teks Jerman Merusak Tombol Kami"

UI yang Tidak Dirancang untuk Terjemahan

Bahasa Inggris muat. Bahasa Jerman tidak. Desain Anda mengasumsikan:

Label tombol sekitar 10 karakterNama pengguna muat dalam kolom 200pxPesan error satu baris

Lalu Anda menerjemahkannya ke bahasa Jerman, Finlandia, atau Thailand dan menemukan:

Tombol terpotong di tengah kata

Tabel dengan gulir horizontal di setiap baris

Teks yang terbungkus menjadi blok yang tidak terbaca

Teks non-Latin terpotong karena kontainer memiliki lebar tetap

Yang saya bantu:

  • Pola UI elastis yang menyesuaikan panjang konten
  • Perencanaan anggaran karakter (misalnya, bahasa Jerman bisa mengembang 30%, bahasa Thailand tidak menggunakan spasi)
  • Sistem tipografi yang menangani CJK, Arab, dan Devanagari tanpa masalah

Saya membantu Anda membangun UI yang tahan terhadap terjemahan—sebelum Anda membayar untuk 10.000 kata yang ternyata tidak muat.

Anda tidak butuh ceramah tentang mengapa i18n itu penting. Anda butuh seseorang yang pernah melakukan debug popover RTL pada pukul 2 dini hari, berdebat dengan tim produk tentang anggaran karakter, dan merancang pipeline terjemahan yang benar-benar berfungsi

Jebakan yang Tidak Pernah Diperingatkan kepada Anda

Kisah Nyata dari Tim yang Pernah Mengalaminya

Ini bukan teori. Ini adalah masalah nyata yang terjadi di produksi:

Rumitnya Pluralisasi

Bahasa Inggris: "1 item" vs "2 items"

Bahasa Polandia: "1 przedmiot" / "2 przedmioty" / "5 przedmiotów" (3 bentuk jamak)

Bahasa Arab: 6 bentuk jamak

Logika 'item' : 'items' Anda untuk count === 1 tidak jalan lagi.

Kekacauan Tanggal/Waktu

Anda memformat tanggal dengan toLocaleDateString(). Lalu pengguna di Jepang melihat "2025年2月9日" di ekspor CSV Anda, dan Excel langsung error.

Ketidakcocokan Bahasa API

Frontend Anda meminta bahasa Prancis, tetapi API mengembalikan bahasa Inggris karena token autentikasi tidak membawa informasi locale. Akibatnya, UI menampilkan bahasa campuran dan pengguna mengira itu bug.

Pengujian Pseudo-Locale

Anda tidak menguji dengan [Ţĥîś îś ţéśţ ţéẋţ ţĥàţ éẋþàñðś 30%] sebelum masuk ke produksi. Sekarang situs Polandia Anda tidak bisa dipakai.

Asumsi yang Tidak Terlihat

Anda mengira string adalah satu-satunya hal yang perlu diterjemahkan. Kemudian Anda menghadapi tanggal, angka, mata uang, pengurutan, pencarian—semuanya memiliki perilaku spesifik berdasarkan lokal.

Yang saya bantu:

  • Implementasi ICU MessageFormat (menangani bentuk jamak, gender, dan konteks)
  • Pola i18n API (negosiasi bahasa, strategi cadangan)
  • Proses QA yang mendeteksi masalah-masalah ini sebelum agensi terjemahan menemukannya.

Alur Kerja adalah Bagian Tersulit

Bagaimana Menjaga 8 Bahasa Tetap Sinkron Saat Rilis Setiap Hari?

Anda sudah paham teknologinya. Sekarang Anda terjebak di proses:

1

Para pengembang menggabungkan kode dengan string bahasa Inggris baru. Terjemahan tertinggal 2 minggu. Para pengguna melihat UI yang setengah diterjemahkan.

2

Anda tidak tahu string mana yang aman untuk dihapus (apakah masih dipakai? sudah diterjemahkan? sedang diproses oleh agensi?)

3

Tim produk ingin memperbarui teks. Tidak ada yang tahu apakah mengubah "Submit" menjadi "Send" akan merusak 12 bahasa.

4

File terjemahan tidak sinkron dengan produksi selama berminggu-minggu

Pertanyaan yang sering ditanyakan tim kepada saya:

"Sebaiknya API kami mengembalikan konten yang sudah diterjemahkan, atau biarkan frontend yang menanganinya?"
"Bagaimana cara kita mengelola versi terjemahan?"
"Mana yang jadi acuan utama: Figma, codebase, atau alat terjemahan?"
"Bagaimana cara kita mencegah pengembang merilis fitur yang hanya mendukung bahasa Inggris?"

Masalah yang sering saya temui:

  • File terjemahan yang di-commit ke git berbeda dari string produksi
  • Peringatan "Jangan sentuh file bahasa Spanyol" karena tidak ada yang tahu bagian mana yang aman untuk diubah
  • Fitur diluncurkan dalam bahasa Inggris, baru diterjemahkan 6 bulan kemudian (kalau pun pernah)

Yang saya bantu:

  • Desain pipeline terjemahan (kapan menggunakan pustaka i18n, kapan menggunakan TMS, kapan menggunakan AI)
  • Alur kerja Git untuk menjaga string sumber dan terjemahan tetap sinkron
  • Otomatisasi yang memblokir PR jika string baru belum ditandai untuk diterjemahkan

Teknologinya bisa diatasi. Alur kerjanya yang jadi penghambat. Saya mendesain alur kerja yang tidak perlu upaya luar biasa untuk dikelola.

Tim yang Pernah Bekerja Sama dengan Saya

Produk Global, Keahlian Regional

Logo LINE (Japan, Taiwan, Thailand)

LINE (Japan, Taiwan, Thailand)

Platform pesan yang beroperasi di 3 pasar utama Asia Timur. Menangani tantangan spesifik dalam penanganan karakter CJK, integrasi ekosistem platform, dan ekspektasi pengalaman pengguna yang berbeda di Jepang, Taiwan, dan Thailand

Logo KakaoTalk (South Korea)

KakaoTalk (South Korea)

Platform pesan dominan di Korea. Menangani kebutuhan produk yang spesifik untuk pasar Korea, termasuk ekspektasi formalitas bahasa di UI dan kebutuhan integrasi platform.

Logo Change.org (196 countries, 20+ priority languages)

Change.org (196 countries, 20+ priority languages)

Platform petisi global yang mengutamakan kecepatan dan kualitas konten. Membantu merancang alur kerja terjemahan untuk konten politik/sosial buatan pengguna di berbagai pasar.

Logo Airbnb (220+ countries, 60+ languages)

Airbnb (220+ countries, 60+ languages)

Marketplace global dengan kebutuhan i18n yang kompleks. Memberikan konsultasi seputar tantangan kepercayaan dan keamanan dalam berbagai bahasa serta adaptasi budaya konsep platform di berbagai pasar.

Logo Intercom (30+ languages, global B2B SaaS)

Intercom (30+ languages, global B2B SaaS)

Platform komunikasi pelanggan yang melayani klien perusahaan global. Mengerjakan internasionalisasi produk untuk perangkat dukungan waktu nyata dan lokalisasi basis pengetahuan

Logo Lilith Games (China, Japan, Korea, US, EU)

Lilith Games (China, Japan, Korea, US, EU)

Penerbit game mobile dengan judul-judul yang didistribusikan secara global. Menangani tantangan khusus tiap pasar terkait lokalisasi konten dan persyaratan platform regional.

Pasar yang Pernah Saya Masuki:

Asia Timur (Jepang, Korea, Tiongkok):

Tipografi CJK, integrasi ekosistem platform, dukungan teks vertikal

Asia Tenggara (Thailand, Vietnam, Indonesia):

Dukungan multi-skrip, ekspektasi pengguna yang mengutamakan perangkat mobile

MENA (wilayah berbahasa Arab):

Kebutuhan tata letak RTL, ekspektasi bahasa formal vs. sehari-hari, adaptasi konten secara budaya

Eropa:

24 bahasa resmi, peluncuran produk di berbagai negara

Amerika:

Variasi bahasa regional (Spanyol Amerika Latin vs Spanyol Eropa, Portugis Brasil), pasar dwibahasa

Saya telah melihat apa yang berhasil dan apa yang gagal di pasar-pasar ini—bukan dari teori, tetapi dari pengiriman produk yang diandalkan oleh pengguna nyata

Mari Perbaiki Masalah yang Ada

Anda tidak butuh ceramah tentang mengapa i18n itu penting. Anda butuh seseorang yang pernah melakukan debug popover RTL pada pukul 2 dini hari, berdebat dengan tim produk tentang anggaran karakter, dan merancang pipeline terjemahan yang benar-benar berfungsi

Tinjauan Arsitektur & Strategi (1-2 minggu):

Saya akan memberi tahu Anda masalah apa yang akan muncul ketika Anda menambahkan 3 bahasa berikutnya, dan berapa biaya untuk memperbaikinya

Dukungan Peluncuran Pasar (4-8 minggu):

Anda akan meluncurkan produk di Jepang/MENA/EU dan butuh ahli yang sudah berpengalaman melakukannya

Kemitraan Berkelanjutan:

Konsultasi terintegrasi saat Anda melakukan skalasi dari 2 bahasa ke 20

Saya bukan teoretikus. Saya melakukan triase, menyusun peta jalan, dan mengirimkan hasilnya.