Savjetovanje o internacionalizaciji: Popravite ono što se kvari, isplanirajte što je sljedeće
Već znate da je i18n zahtjevan. Vidio sam simptome: RTL rasporedi koji se urušavaju, njemački tekst koji prelijeva gumbe, API odgovori na pogrešnom jeziku i prijevodi koji izlaze iz sinkronizacije u roku od nekoliko tjedana nakon pokretanja. Ne prodajem čarobna rješenja. Pomažem vam raspetljati konkretni nered u kojem se vaš tim nalazi — i izgraditi sustave koji se neće pokvariti na isti način dvaput.
„Trebali smo ovo ranije isplanirati"
Porez na arhitekturu koji sada plaćate
Pokrenuli ste na engleskom. Radilo je. Onda ste dodali francuski „samo za odredišnu stranicu." Sad ste ovdje jer:
Vaša baza koda ima provjere lang= razbacane po 47 datoteka
Upravitelji proizvoda pitaju „možemo li A/B testirati tekst?" a inženjeri kažu „samo uz prepisivanje"
Imate tri različita tijeka rada za prijevod i nijedan ne radi pouzdano
Što sam vidio da se kvari:
- Timovi koji troše više od 6 mjeseci na naknadno uvođenje i18n u Next.js aplikaciju jer su stringovi bili ugrađeni izravno u komponente
- Datoteke prijevoda nisu usklađene jer razvojni programeri ne znaju koju datoteku ažurirati
- „Zamrzavanja lokalizacije" prije izdanja jer nitko ne vjeruje tijeku prijevoda
- Otpor prema promjeni bilo kojeg prevedenog sadržaja jer je tijek rada toliko bolan
S čime pomažem:
- Strategije refaktoriranja koje vam omogućuju postupno uvođenje i18n (ne zahtijevam „stani sa svime i prepiši")
- Dizajn procesa za održavanje prijevoda usklađenih bez blokiranja razvoja
- Pregledi arhitekture kako biste utvrdili gdje će se vaš trenutačni pristup pokvariti na 10+ jezika
i18n je arhitektura, a ne značajka. Pokušati ga dodati kasnije isto je kao odlučiti da vaša kuća treba podrum nakon što ste je već izgradili.
Pomažem vam iskopati taj podrum – ili odlučiti trebate li ga uopće.
RTL sve pokvari
Vaše korisničko sučelje nije bilo dizajnirano za arapski, hebrejski ili urdu
Prebacili ste dir=„rtl" i gledali kako vam raspored eksplodira:
Ono što sam vidio:
- Sustavi dizajna s više od 200 komponenti, od kojih samo 12 ispravno podržava RTL
- Timovi koji koriste float: left umjesto logičkih svojstava, stvarajući RTL greške u svakoj novoj značajci
- Popovers i modali koji zahtijevaju specifična RTL nadjačavanja po komponenti
- Okviri koji tvrde da imaju „RTL podršku", a samo preokrenu smjer rasporeda, ali pokvare logiku pozicioniranja
S čime pomažem:
- Migracija na CSS logička svojstva (margin-inline-start umjesto margin-left)
- Revizije dizajn sustava kako biste pronašli RTL mine prije nego što se isporuče
- Specifične smjernice za okvir (Tailwind, shadcn, MUI) za stiliziranje s RTL-first pristupom
Ručno ispravljanje RTL grešaka u svakoj komponenti nije održivo. RTL podršku činim sustavnom, a ne stalnim gašenjem požara.
„Njemački tekst nam je pokvario gumb"
Sučelje koje nije prilagođeno za prijevod
Engleski stane. Njemački ne. Vaš dizajn je pretpostavio:
Zatim ste preveli na njemački, finski ili tajlandski i otkrili:
Gumbi su odrezani usred riječi
Tablice s vodoravnim pomicanjem u svakom retku
Tekst se prelama u nečitljive blokove
Nelatinični tekst se skraćuje jer spremnici imaju fiksne širine
S čime pomažem:
- Elastični UI uzorci koji se prilagođavaju duljini sadržaja
- Planiranje budžeta znakova (znati da se njemački proširuje za 30 %, tajlandski ne koristi razmake)
- Tipografski sustavi koji rukuju CJK-om, arapskim i devanagarijem bez kvarenja
Pomažem vam izgraditi sučelje koje preživi prijevod – prije nego što platite za 10 000 riječi koje ne stanu.
Ne trebate predavanje o tome zašto je i18n važan. Trebate nekoga tko je otklanjao pogreške u RTL skočnim prozorima u 2 ujutro, raspravljao s proizvodnim timom o ograničenjima broja znakova i dizajnirao tijekove prijevoda koji stvarno rade.
Zamke na koje vas nitko nije upozorio
Ratne priče timova koji su to već prošli
Ovo nije teorija. Ovo su stvari koje su se pokvarile u produkciji:
Pakao množine
Engleski: „1 stavka" naspram „2 stavke"
Poljski: „1 przedmiot" / „2 przedmioty" / „5 przedmiotów" (3 oblika množine)
Arapski: 6 oblika množine
Vaša logika count === 1 ? 'stavka' : 'stavke' više ne radi.
Kaos datuma i vremena
Datume ste formatirali s toLocaleDateString(). Zatim su korisnici u Japanu u vašim CSV izvozima vidjeli „2025年2月9日" i Excel se zagrcnuo.
Neusklađenost jezika API-ja
Vaš frontend traži francuski. Vaš API vraća engleski jer autentifikacijski token ne nosi lokalizaciju. Sada imate UI s miješanim jezicima i korisnici misle da je to greška.
Testiranje pseudo-lokalizacije
Niste testirali s [Ţĥîś îś ţéśţ ţéẋţ ţĥàţ éẋþàñðś 30 %] prije nego što ste otišli u produkciju. Sada je vaša poljska stranica neupotrebljiva.
Nevidljiva pretpostavka
Pretpostavili ste da su stringovi jedino što treba prevesti. Onda naletite na datume, brojeve, valute, sortiranje, pretraživanje – sve ima ponašanje specifično za lokalizaciju.
S čime pomažem:
- Implementacija ICU MessageFormat (obrađuje množinu, rod i kontekst)
- API i18n obrasci (pregovaranje o jeziku, strategije rezervnih opcija)
- QA procesi koji uhvate te probleme prije nego što to učine prevoditeljske agencije
Tijek rada je najteži dio
Kako održavate 8 jezika usklađenih kad isporučujete svaki dan?
Shvatili ste tehnologiju. Sada ste zapeli na procesu:
Programeri spajaju kod s novim engleskim stringovima. Prijevodi kasne 2 tjedna. Korisnici vide napola prevedeni UI.
Ne znate koje stringove je sigurno izbrisati (koriste li se? prevedeni? u tijeku s agencijom?)
Proizvod želi ažurirati tekst. Nitko ne zna hoće li promjena „Submit" u „Send" pokvariti 12 jezika.
Datoteke prijevoda nisu usklađene s produkcijom tjednima
Pitanja koja mi timovi postavljaju:
Što sam vidio da se kvari:
- Datoteke prijevoda commitane u git koje se razilaze sa stringovima u produkciji
- Upozorenja „Ne dirajte španjolsku datoteku" jer nitko ne zna što je sigurno promijeniti
- Značajke pokrenute na engleskom, a zatim prevedene 6 mjeseci kasnije (ako ikad)
S čime pomažem:
- Dizajn prevoditeljskog pipelinea (kada koristiti i18n biblioteke, kada TMS, a kada AI)
- Git tijekovi rada za održavanje izvornih stringova i prijevoda u sinkronizaciji
- Automatizacija koja blokira PR-ove ako novi stringovi nisu označeni za prijevod
Tehnologija je rješiva. Tijek rada je prepreka. Dizajniram tijekove rada koji ne zahtijevaju herojske napore za održavanje.
Timovi s kojima sam surađivao
Globalni proizvodi, regionalna stručnost

LINE (Japan, Tajvan, Tajland)
Platforma za razmjenu poruka koja posluje na 3 primarna istočnoazijska tržišta. Radio sam na izazovima specifičnima za rukovanje CJK znakovima, integraciju ekosustava platforme i očekivanja korisničkog iskustva koja se razlikuju između Japana, Tajvana i Tajlanda.
KakaoTalk (Južna Koreja)
Dominantna korejska platforma za razmjenu poruka. Radio sam na zahtjevima proizvoda specifičnima za korejsko tržište, uključujući očekivanja o razini formalnosti jezika u sučelju i potrebe integracije platforme.
Change.org (196 zemlje, 20+ prioritetnih jezika)
Globalna platforma za peticije gdje su važni i brzina sadržaja i kvaliteta. Pomogao u snalaženju u tijeku rada prijevoda za politički i društveni sadržaj koji generiraju korisnici na različitim tržištima.

Airbnb (220+ zemalja, 60+ jezika)
Globalno tržište sa složenim i18n zahtjevima. Savjetovao sam o izazovima oko povjerenja i sigurnosti na više jezika te kulturnoj prilagodbi koncepata platforme na različitim tržištima.

Intercom (više od 30 jezika, globalni B2B SaaS)
Platforma za komunikaciju s korisnicima koja opslužuje globalne enterprise klijente. Radio sam na internacionalizaciji proizvoda za alate za podršku u stvarnom vremenu i lokalizaciji baze znanja.
Lilith Games (Kina, Japan, Koreja, SAD, EU)
Izdavač mobilnih igara s naslovima distribuiranima globalno. Radio sam na tržišno specifičnim izazovima lokalizacije sadržaja i regionalnim zahtjevima platformi.
Tržišta na kojima sam pokrenuo:
Istočna Azija (Japan, Koreja, Kina):
CJK tipografija, integracija ekosustava platforme, podrška za okomiti tekst
Jugoistočna Azija (Tajland, Vijetnam, Indonezija):
Podrška za više pisama, očekivanja korisnika usmjerena na mobilne uređaje
MENA (regije u kojima se govori arapski):
Zahtjevi za RTL raspored, očekivanja formalnog naspram kolokvijalnog jezika, kulturna prilagodba sadržaja
Europa:
24 službena jezika, pokretanja proizvoda u više zemalja
Amerike:
Regionalne varijacije jezika (LATAM španjolski naspram španjolskog iz Španjolske, brazilski portugalski), dvojezična tržišta
Vidio sam što radi i što ne uspijeva na tim tržištima – ne iz teorije, nego iz isporuke proizvoda o kojima ovise stvarni korisnici.
Popravimo ono što se kvari
Ne trebate predavanje o tome zašto je i18n važan. Trebate nekoga tko je otklanjao pogreške u RTL skočnim prozorima u 2 ujutro, raspravljao s proizvodnim timom o ograničenjima broja znakova i dizajnirao tijekove prijevoda koji stvarno rade.
Pregled arhitekture i strategije (1–2 tjedna):
Kažem vam što će se pokvariti kad dodate sljedeća tri jezika i koliko će to koštati popraviti
Podrška za pokretanje na tržištu (4–8 tjedana):
Pokrećete se u Japanu/MENA/EU i trebaju vam stručnjaci koji su to već prije radili
Partnerstvo u tijeku:
Ugrađeno savjetovanje dok skalirate s 2 jezika na 20
Ne bavim se teorijom. Bavim se trijažom, planovima puta i isporukom.