Konsultasyon sa Internasyonalisasyon: Ayusin ang Nasira, Planuhin ang Susunod
Alam mo nang mahirap ang i18n. Nakita ko na ang mga sintomas: mga RTL layout na gumuho, German text na umaapaw sa mga button, API response na maling wika, at mga pagsasaling nawawala sa sync ilang linggo matapos mag-launch. Hindi ako nagbebenta ng mahiwagang solusyon. Tinutulungan kitang ayusin ang partikular na gulo ng team mo at bumuo ng mga sistemang hindi na masisira sa parehong paraan.
"Dapat Pinlano Natin Ito Nang Mas Maaga"
Ang Buwis sa Arkitektura na Binabayaran Mo Ngayon
Naglunsad ka sa English. Gumana ito. Tapos nagdagdag ka ng French "para lang sa landing page." Ngayon, narito ka dahil:
Ang iyong codebase ay may mga lang= check na nakakalat sa 47 file
Ang mga product manager ay nagtatanong ng "puwede ba nating i-A/B test ang copy?" at sinasabi ng engineering na "hindi puwede kung walang rewrite"
Mayroon kang tatlong magkakaibang daloy ng trabaho sa pagsasalin at wala sa mga iyon ang gumaganang maayos
Mga nakita kong nasira:
- Mga team na gumugugol ng 6+ buwan sa pag-retrofit ng i18n sa isang Next.js app dahil naka-hardcode ang mga string sa mga component
- Mga translation file na nawawala sa sync dahil hindi alam ng mga developer kung aling file ang dapat i-update
- Mga panahon ng "localization freeze" bago mag-release dahil walang nagtitiwala sa translation pipeline
- Pagtutol sa pagbabago ng anumang naisaling nilalaman dahil sobrang hirap ng workflow
Mga tinutulungan ko:
- Mga estratehiya sa refactoring na nagbibigay-daan sa unti-unting pag-adopt ng i18n (hindi ko hinihingi na "itigil ang lahat at isulat muli")
- Disenyo ng proseso para mapanatiling naka-sync ang mga pagsasalin nang hindi hinaharangan ang development
- Mga pagsusuri ng arkitektura para matukoy kung saan masisira ang kasalukuyan mong approach sa 10+ na wika
Ang i18n ay arkitektura, hindi feature. Ang pagdagdag nito sa huli ay parang magpasya na kailangan ng bahay mo ng basement matapos mo na itong itayo.
Tinutulungan kita na hukayin ang basement na iyon—o magdesisyon kung talagang kailangan mo ba.
Sinisira ng RTL ang Lahat
Hindi Idinisenyo ang UI Mo para sa Arabic, Hebrew, o Urdu
Pinalitan mo ang dir="rtl" at napanood mong gumuho ang layout mo:
Ang nakita ko:
- Mga design system na may 200+ na bahagi kung saan 12 lamang ang maayos na humahawak ng RTL
- Mga team na gumagamit ng float: left sa halip na logical properties, na lumilikha ng mga RTL bug sa bawat bagong feature
- Mga popover at modal na nangangailangan ng component-specific na RTL override
- Mga framework na nag-aangking may "suporta sa RTL" pero binabaligtad lamang ang direksyon ng layout nang hindi inaayos ang lohika ng paglalagay
Mga tinutulungan ko:
- Paglipat ng CSS logical properties (margin-inline-start sa halip na margin-left)
- Mga design system audit para mahanap ang mga RTL landmine bago maipadala
- Framework-specific na gabay (Tailwind, shadcn, MUI) para sa RTL-first na styling
Hindi sustainable ang manu-manong pag-aayos ng mga RTL bug sa bawat bahagi. Ginagawa kong sistematiko ang RTL support, hindi isang palaging firefight.
"Sinira ng Tekstong Aleman ang Aming mga Button"
UI na Hindi Idinisenyo para sa Pagsasalin
Kasya ang English. Hindi kasya ang German. Inaasahan ng disenyo mo:
Tapos nagsalin ka sa German, Finnish, o Thai at nadiskubre mo:
Mga button na naputol sa gitna ng salita
Mga table na may horizontal scroll sa bawat row
Text na nagba-wrap sa mga hindi mababasang bloke
Napuputol ang tekstong hindi Latin dahil may nakapirming lapad ang mga container
Mga tinutulungan ko:
- Mga elastic na pattern ng UI na umaayon sa haba ng nilalaman
- Pagpaplano ng budget ng character (ang German ay lumalawak nang 30%, ang Thai ay walang espasyo)
- Mga sistema ng tipograpiya na humahawak sa CJK, Arabic, at Devanagari nang walang sira
Tinutulungan kitang bumuo ng UI na kayang humawak ng pagsasalin bago ka pa magbayad para sa 10,000 salitang hindi magkasya.
Hindi mo kailangan ng lektyur kung bakit mahalaga ang i18n. Kailangan mo ng taong nag-debug na ng RTL popovers nang 2 AM, nakipagtalo sa product tungkol sa character budget, at nagdisenyo ng mga translation pipeline na talagang gumagana.
Ang mga Gotcha na Walang Nagbabala sa Iyo
Mga Kuwento mula sa mga Team na Naranasan Na Ito
Hindi ito teoretikal. Ito ang mga bagay na nasira sa produksyon:
Impiyerno ng Pluralization
English: "1 item" vs "2 items"
Polish: "1 przedmiot" / "2 przedmioty" / "5 przedmiotów" (3 plural forms)
Arabic: 6 plural forms
Ang iyong count === 1 ? 'item' : 'items' logic ay hindi na gumagana.
Kaguluhan sa Petsa/Oras
Ni-format mo ang mga petsa gamit ang toLocaleDateString(). Pagkatapos, nakita ng mga gumagamit sa Japan ang "2025年2月9日" sa mga CSV export mo at nagka-problema ang Excel.
Hindi Magkatugma ang Wika ng API
French ang hinihiling ng frontend mo. English naman ang ibinibalik ng API mo dahil hindi dala ng auth token ang locale. Kaya halo-halo na ang wika sa UI mo at akala ng mga gumagamit na bug ito.
Pseudo-Locale Testing
Hindi mo sinubukan gamit ang [Ţĥîś îś ţéśţ ţéẋţ ţĥàţ éẋþàñðś 30%] bago pumunta sa production. Ngayon hindi na magamit ang Polish site mo.
Ang Hindi Nakikitang Pagpapalagay
Akala mo ang mga string lamang ang kailangang isalin. Pagkatapos ay nasagasaan mo ang mga petsa, numero, currency, pag-sort, paghahanap—lahat ay may locale-specific na behavior.
Mga tinutulungan ko:
- Implementasyon ng ICU MessageFormat (sumusuporta sa mga plural, kasarian, konteksto)
- Mga pattern ng API i18n (negosasyon ng wika, mga fallback strategy)
- Mga proseso ng QA na nakakahuli ng mga isyung ito bago pa ang mga translation agency
Ang daloy ng trabaho ang pinakamahirap
Paano Mo Papanatilihing Naka-sync ang 8 Wika Kung Araw-araw Kang Nagre-release?
Naunawaan mo na ang tech. Ngayon, natigil ka sa proseso:
Nag-merge ang mga developer ng code na may bagong English string. Nahuhuli ang mga pagsasalin nang 2 linggo. Nakikita ng mga gumagamit ang kalahating naisalin na UI.
Hindi mo alam kung aling mga string ang ligtas na burahin (ginagamit ba ang mga ito? naisalin na ba? nasa proseso pa ba sa isang ahensya?)
Gusto ng Product na i-update ang copy. Walang nakakaalam kung masisira ba ang 12 na wika kapag pinalitan ang "Submit" ng "Send".
Ilang linggo nang hindi naka-sync sa production ang mga translation file
Mga tanong na tinatanong sa akin ng mga team:
Mga nakita kong nasira:
- Ang mga translation file na naka-check in sa git ay lumalayo sa mga production string
- Mga babalang "Huwag galawin ang Spanish file" dahil walang nakakaalam kung ano ang ligtas na baguhin
- Mga feature na inilunsad sa Ingles, tapos naisalin 6 buwan pagkatapos (kung naisalin man)
Mga tinutulungan ko:
- Disenyo ng translation pipeline (kung kailan gagamitin ang mga i18n library, TMS, o AI)
- Mga Git workflow para mapanatiling naka-sync ang mga source string at pagsasalin
- Automation na nagba-block ng mga PR kapag ang mga bagong string ay hindi naka-mark para sa pagsasalin
Kayang solusyunan ang tech. Ang workflow ang hadlang. Nagdidisenyo ako ng mga workflow na hindi nangangailangan ng matinding pagsisikap para mapanatili.
Mga Team na Nakatrabaho Ko
Mga Global na Produkto, Rehiyonal na Kadalubhasaan

LINE (Japan, Taiwan, Thailand)
Plataporma ng pagmemensahe na tumatakbo sa 3 pangunahing merkado sa Silangang Asya. Nagtrabaho sa mga hamong kaugnay ng paghawak ng mga karakter na CJK, integrasyon sa ekosistema ng plataporma, at magkakaibang inaasahan sa karanasan ng gumagamit sa Japan, Taiwan, at Thailand.
KakaoTalk (South Korea)
Nangingibabaw na messaging platform sa Korea. Tinugunan ang mga tiyak na pangangailangan ng produkto sa merkado ng Korea, kabilang ang mga inaasahan sa pormalidad ng wika sa UI at mga pangangailangan sa integrasyon ng platform.
Change.org (196 countries, 20+ priority languages)
Global petition platform kung saan parehong mahalaga ang bilis at kalidad ng nilalaman. Tumulong sa pag-navigate ng translation workflow para sa user-generated na politikal/sosyal na nilalaman sa iba't ibang merkado.

Airbnb (220+ countries, 60+ languages)
Global na marketplace na may kumplikadong pangangailangan sa i18n. Nagkonsulta ako sa mga hamon sa trust at safety sa maraming wika at sa kultural na pag-aangkop ng mga konsepto ng platform sa iba't ibang merkado.

Intercom (30+ languages, global B2B SaaS)
Plataporma ng komunikasyon sa customer na naglilingkod sa mga kliyenteng enterprise ng global. Nagtrabaho sa internationalization ng produkto para sa real-time na support tooling at lokalisasyon ng knowledge base.
Lilith Games (China, Japan, Korea, US, EU)
Publisher ng mobile game na may mga titulo na ipinamamahagi sa buong mundo. Tinugunan ang mga hamon na tiyak sa merkado tungkol sa lokalisasyon ng nilalaman at mga kinakailangan ng rehiyonal na plataporma.
Mga Merkado kung Saan Ako Naglunsad:
Silangang Asya (Japan, Korea, China):
CJK typography, integrasyon sa platform ecosystem, suporta sa vertical text
Timog-Silangang Asya (Thailand, Vietnam, Indonesia):
Suporta sa multi-script, mga inaasahan ng gumagamit na mobile-first
MENA (mga rehiyong nagsasalita ng Arabic):
Mga kinakailangan sa RTL layout, pormal vs. kolokyal na mga inaasahan sa wika, kultural na adaptasyon ng nilalaman
Europa:
24 opisyal na wika, paglulunsad ng produkto sa maraming bansa
Mga Amerika:
Mga regional na pagkakaiba-iba ng wika (LATAM Spanish vs Spain, Brazilian Portuguese), mga bilingual na merkado
Nakita ko na kung ano ang gumagana at kung ano ang nabibigo sa mga merkadong ito—hindi mula sa teorya, kundi mula sa paghahatid ng mga produktong inaasahan ng mga tunay na gumagamit.
Ayusin Natin ang Nasira
Hindi mo kailangan ng lektyur kung bakit mahalaga ang i18n. Kailangan mo ng taong nag-debug na ng RTL popovers nang 2 AM, nakipagtalo sa product tungkol sa character budget, at nagdisenyo ng mga translation pipeline na talagang gumagana.
Pagsusuri sa Arkitektura at Estratehiya (1-2 linggo):
Sasabihin ko sa iyo kung ano ang masisira kapag nagdagdag ka ng susunod mong 3 wika, at kung magkano ang gastos para ayusin ito
Suporta sa Paglulunsad sa Merkado (4-8 linggo):
Naglulunsad ka sa Japan/MENA/EU at kailangan mo ng mga ekspertong nakagawa na nito dati
Patuloy na Pakikipagtulungan:
Naka-embed na consulting habang nagsu-scale ka mula 2 wika patungong 20
Hindi ako gumagawa ng teorya. Gumagawa ako ng triage, roadmap, at shipping.