Internacionalizācijas konsultācija: labojam salūzušo, plānojam turpmākos soļus
Jūs jau zināt, ka i18n ir sarežģīts. Esmu redzējis simptomus: RTL izkārtojumi, kas sabrūk, vācu teksts, kas pārpilda pogas, API atbildes nepareizā valodā un tulkojumi, kas dažu nedēļu laikā pēc palaišanas vairs nav sinhronizēti. Es nepārdodu universālus risinājumus. Es palīdzu Jums atšķetināt konkrēto jucekli, kurā atrodas Jūsu komanda, un izveidot sistēmas, kas vairs nesalūzīs tādā pašā veidā.
„Mums vajadzēja to ieplānot agrāk"
Arhitektūras nodoklis, ko maksājat tagad
Jūs palaidāt produktu angļu valodā. Tas darbojās. Tad jūs pievienojāt franču valodu „tikai galvenajai lapai". Tagad jūs esat šeit, jo:
Jūsu kodu bāzē lang= pārbaudes ir izkaisītas 47 failos
Produktu vadītāji jautā: „vai mēs varam A/B testēt tekstu?", un inženierija saka: „ne bez pārrakstīšanas"
Jums ir trīs dažādas tulkošanas darbplūsmas, un neviena no tām nedarbojas uzticami
Ko esmu redzējis salūstam:
- Komandas, kas pavada 6+ mēnešus, lai iestrādātu i18n Next.js lietotnē, jo virknes bija iekodētas komponentos
- Tulkojumu faili vairs nav sinhronizēti, jo izstrādātāji nezina, kurš fails ir jāatjaunina
- „Lokalizācijas sasalšana" pirms laidieniem, jo neviens neuzticas tulkošanas darbplūsmai
- Nevēlēšanās mainīt tulkoto saturu, jo darba plūsma ir tik apgrūtinoša.
Ar ko palīdzu:
- Refaktorēšanas stratēģijas, kas ļauj pakāpeniski ieviest i18n (es neprasu „apturiet visu un pārrakstiet")
- Procesa izstrāde, lai uzturētu tulkojumus sinhronizētus, nebloķējot izstrādi.
- Arhitektūras pārskats, lai noteiktu, kur jūsu pašreizējā pieeja vairs nedarbosies ar 10+ valodām.
i18n ir arhitektūra, nevis funkcija. Mēģināt to pievienot vēlāk ir tas pats, kas izlemt, ka jūsu mājai vajadzīgs pagrabs, kad tā jau ir uzbūvēta.
Es jums palīdzu izrakt to pagrabu — vai izlemt, vai tas jums vispār ir vajadzīgs.
RTL izjauc visu
Jūsu lietotāja saskarne nebija izstrādāta arābu, ivrīta vai urdu valodai
Jūs pārslēdzāt dir=„rtl" un vērojāt, kā izkārtojums sabrūk:
Ko esmu redzējis:
- Dizaina sistēmas ar vairāk nekā 200 komponentiem, no kuriem tikai 12 pareizi apstrādā RTL
- Komandas, kas izmanto float: left loģisko īpašību vietā, katrā jaunā funkcijā radot RTL kļūdas
- Uznirstošie un modālie logi, kam nepieciešami katram komponentam specifiski RTL pielāgojumi
- Ietvari, kas apgalvo, ka atbalsta RTL, bet tikai apgriež izkārtojuma virzienu, taču izjauc izvietojuma loģiku.
Ar ko palīdzu:
- CSS loģisko īpašību migrācija (margin-inline-start, nevis margin-left)
- Dizaina sistēmu auditi, lai atklātu RTL problēmas pirms izlaišanas
- Katram ietvarstruktūrai pielāgoti norādījumi (Tailwind, shadcn, MUI) RTL stilam
Manuāli labot RTL kļūdas katrā komponentā nav ilgtspējīgi. Es RTL atbalstu padaru sistemātisku — nevis pastāvīgu ugunsdzēšanu.
„Vācu teksts sabojāja mūsu pogu"
Lietotāja saskarne, kas nebija veidota tulkošanai
Angļu valoda iederas. Vācu — nē. Jūsu dizains pieņēma:
Tad jūs tulkojāt vācu, somu vai taju valodā un atklājāt:
Pogas aprauj vārdus pusvārdā
Tabulas ar horizontālu ritināšanas joslu katrā rindā
Teksts, kas sadalās nelasāmos blokos
Nelatīņu teksts tiek apgriezts, jo konteineriem ir fiksēts platums
Ar ko palīdzu:
- Elastīgi UI modeļi, kas pielāgojas satura garumam
- Rakstzīmju budžeta plānošana (zinot, ka vācu valoda paplašinās par 30 %, taju valoda nelieto atstarpes)
- Tipogrāfijas sistēmas, kas apstrādā CJK, arābu un devānagari rakstus, neko neizjaucot
Es palīdzu Jums izveidot lietotāja saskarni, kas ir pielāgojama tulkošanai — pirms samaksājat par 10 000 vārdiem, kas neiederas.
Jums nav vajadzīga lekcija par to, kāpēc i18n ir svarīgs. Jums vajadzīgs cilvēks, kurš ir atkļūdojis RTL uznirstošos logus pulksten 2 naktī, strīdējies ar produktu komandu par rakstzīmju budžetiem un veidojis tulkošanas konveijerus, kas patiešām darbojas.
Aizķeršanās, par kurām jūs neviens nebrīdināja
Pieredzes stāsti no komandām, kas to ir pārdzīvojušas
Šīs nav teorētiskas problēmas. Tās ir lietas, kas radīja kļūdas ražošanā:
Pluralizācijas elle
Angļu valoda: „1 vienums" un „2 vienumi"
Poļu valoda: „1 przedmiot" / „2 przedmioty" / „5 przedmiotów" (3 daudzskaitļa formas)
Arābu valoda: 6 daudzskaitļa formas
Jūsu count === 1 ? 'item' : 'items' loģika vairs nedarbojas.
Datumu un laika haoss
Jūs formatējāt datumus ar toLocaleDateString(). Tad lietotāji Japānā jūsu CSV eksporta failos ieraudzīja „2025年2月9日", un Excel ar to netika galā.
API valodu neatbilstība
Jūsu lietotāja saskarne pieprasa franču valodu. Jūsu API atgriež angļu valodu, jo autentifikācijas marķieris nesatur lokalizācijas informāciju. Rezultātā lietotāja saskarnē ir sajauktas valodas, un lietotāji domā, ka tā ir kļūda.
Pseidolokalizācijas testēšana
Jūs netestējāt ar [Ţĥîś îś ţéśţ ţéẋţ ţĥàţ éẋþàñðś 30 %] pirms pāriešanas uz ražošanu. Tagad jūsu poļu vietne ir nelietojama.
Neredzamais pieņēmums
Jūs pieņēmāt, ka virknes ir vienīgais, kas jātulko. Tad jūs saskārāties ar datumiem, skaitļiem, valūtām, kārtošanu, meklēšanu — visam ir lokalizācijai raksturīga uzvedība.
Ar ko palīdzu:
- ICU MessageFormat implementācija (apstrādā daudzskaitļus, dzimumu, kontekstu)
- API i18n modeļi (valodu saskaņošana, rezerves stratēģijas)
- Kvalitātes kontroles procesi, kas atklāj šīs problēmas, pirms tās nonāk tulkošanas aģentūrās.
Darbplūsma ir sarežģītākā daļa.
Kā uzturēt 8 valodu sinhronizāciju, ja izlaižat jauninājumus katru dienu?
Esat apguvuši tehnoloģiju. Tagad esat iestrēguši procesā:
Izstrādātāji integrē kodā jaunas angļu virknes. Tulkojumi atpaliek par 2 nedēļām. Lietotāji redz daļēji iztulkotu saskarni.
Jūs nezināt, kuras virknes var droši dzēst (vai tās tiek izmantotas? vai tās ir iztulkotas? vai tās apstrādā aģentūra?)
Produkta komanda vēlas atjaunināt tekstu. Neviens nezina, vai, mainot „Submit" uz „Send", tas ietekmēs 12 valodas.
Tulkojumu faili nedēļām ilgi netiek sinhronizēti ar ražošanas vidi.
Jautājumi, ko komandas man uzdod:
Ko esmu redzējis salūstam:
- Gitā esošie tulkojumu faili atšķiras no ražošanas vidē esošajām virknēm.
- „Neaiztieciet spāņu failu" brīdinājumi, jo neviens nezina, ko ir droši mainīt
- Funkcijas, kas tika palaistas angļu valodā, un tad tulkotas 6 mēnešus vēlāk (ja vispār).
Ar ko palīdzu:
- Tulkošanas plūsmas projektēšana (kad izmantot i18n bibliotēkas, kad izmantot TMS, kad izmantot MI).
- Git darbplūsmas, lai avota virknes un tulkojumi būtu sinhronizēti.
- Automatizācija, kas bloķē PR, ja jaunās virknes nav atzīmētas tulkošanai.
Tehnoloģiskās problēmas ir risināmas. Darbplūsma ir šķērslis. Es izstrādāju darbplūsmas, kuru uzturēšanai nav nepieciešamas ārkārtējas pūles.
Komandas, ar kurām esmu strādājis
Globāli produkti, reģionālā ekspertīze

LINE (Japan, Taiwan, Thailand)
Ziņojumapmaiņas platforma, kas darbojas 3 galvenajos Austrumāzijas tirgos. Strādāju pie izaicinājumiem, kas saistīti ar CJK rakstzīmju apstrādi, platformu ekosistēmas integrāciju un atšķirīgajām lietotāju pieredzes prasībām Japānā, Taivānā un Taizemē.
KakaoTalk (South Korea)
Korejas vadošā ziņojumapmaiņas platforma. Risinājām Korejas tirgum specifiskas produkta prasības, tostarp valodas formalitātes līmeņus lietotāja saskarnē un platformas integrācijas vajadzības.
Change.org (196 countries, 20+ priority languages)
Starptautiska petīciju platforma, kur satura ātrums un kvalitāte ir vienlīdz svarīgi. Palīdzējām izveidot tulkošanas darbplūsmu lietotāju veidotajam politiskajam un sociālajam saturam dažādos tirgos.

Airbnb (220+ countries, 60+ languages)
Starptautiska tirgus platforma ar sarežģītām i18n prasībām. Konsultējām par uzticamības un drošības izaicinājumiem vairākās valodās, kā arī platformas koncepciju kultūras pielāgošanu dažādos tirgos.

Intercom (30+ languages, global B2B SaaS)
Klientu komunikācijas platforma, kas apkalpo globālu uzņēmumu klientus. Strādāju pie produkta internacionalizācijas, kas ietvēra reāllaika atbalsta rīkus un zināšanu bāzes lokalizāciju.
Lilith Games (China, Japan, Korea, US, EU)
Mobilo spēļu izdevējs ar nosaukumiem, kas izplatīti globāli. Risināja konkrētā tirgus izaicinājumus saistībā ar satura lokalizāciju un reģionālajām platformas prasībām.
Tirgi, kuros esmu uzsācis darbību:
Austrumāzija (Japāna, Koreja, Ķīna):
CJK tipogrāfija, integrācija ar platformu ekosistēmu, vertikālā teksta atbalsts
Dienvidaustrumāzija (Taizeme, Vjetnama, Indonēzija):
Atbalsts vairākām rakstībām, mobilajām ierīcēm pielāgotas lietotāju prasības
MENA (arābu valodā runājošie reģioni):
RTL izkārtojuma prasības, formālās un neformālās valodas prasības, kultūras kontekstam pielāgots saturs
Eiropa:
24 oficiālās valodas, produkta laišana vairākās valstīs
Amerikas:
Reģionālās valodu variācijas (Latīņamerikas spāņu valoda pret Spānijas spāņu valodu, Brazīlijas portugāļu valoda), bilingvālie tirgi
Esmu redzējis, kas šajos tirgos darbojas un kas nē — nevis teorētiski, bet gan praktiski, ieviešot produktus, uz kuriem paļaujas reāli lietotāji.
Salabosim salūzušo
Jums nav vajadzīga lekcija par to, kāpēc i18n ir svarīgs. Jums vajadzīgs cilvēks, kurš ir atkļūdojis RTL uznirstošos logus pulksten 2 naktī, strīdējies ar produktu komandu par rakstzīmju budžetiem un veidojis tulkošanas konveijerus, kas patiešām darbojas.
Arhitektūras un stratēģijas pārskatīšana (1-2 nedēļas):
Es Jums pastāstīšu, kas salūzīs, kad pievienosiet nākamās 3 valodas, un cik izmaksās to salabot
Tirgus palaišanas atbalsts (4-8 nedēļas):
Jūs uzsākat darbību Japānā/MENA/EU un jums vajadzīgi eksperti, kas to jau ir darījuši
Ilgtermiņa partnerība:
Iegultā konsultēšana, kamēr jūs mērogojat no 2 valodām uz 20
Es nenodarbojos ar teoriju. Es nodarbojos ar triāžu, plāniem un piegādi.