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

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:

Nolaižamās izvēlnes atveras nepareizā virzienā
Ikonas norāda nepareizā virzienā
Flexbox izkārtojumi sabrūk vai rada dīvainus pārklājumus
Rīka padomi parādās ārpus ekrāna.
Peldošie elementi pilnībā ignorē teksta virzienu

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:

Pogu etiķešu garums ir aptuveni 10 rakstzīmes.Lietotājvārdi ietilpst 200 pikseļu kolonnāKļūdu paziņojumi ir vienā rindā

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ā:

1

Izstrādātāji integrē kodā jaunas angļu virknes. Tulkojumi atpaliek par 2 nedēļām. Lietotāji redz daļēji iztulkotu saskarni.

2

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?)

3

Produkta komanda vēlas atjaunināt tekstu. Neviens nezina, vai, mainot „Submit" uz „Send", tas ietekmēs 12 valodas.

4

Tulkojumu faili nedēļām ilgi netiek sinhronizēti ar ražošanas vidi.

Jautājumi, ko komandas man uzdod:

„Vai mūsu API būtu jāatgriež tulkots saturs vai jāļauj priekšgalam to apstrādāt?"
„Kā mēs pārvaldām tulkojumu versijas?"
„Kas ir galvenais datu avots: Figma, koda bāze vai tulkošanas rīks?"
„Kā novērst, ka izstrādātāji publicē funkcijas tikai angļu valodā?"

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) logotips

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) logotips

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) logotips

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) logotips

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) logotips

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) logotips

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.