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

Консултација о интернационализацији: Решите тренутне проблеме, планирајте будућност

Већ знате да је i18n изазован. Видео сам симптоме: RTL распореди који се руше, немачки текст који прелази преко дугмади, API одговори на погрешном језику и преводи који губе синхронизацију у року од неколико недеља од лансирања. Не продајем чудотворна решења. Помажем вам да распетљате конкретан хаос у ком се ваш тим налази — и изградите системе који неће поново отказати на исти начин.

„Требало је ово раније да испланирамо"

Архитектурни данак који сада плаћате

Лансирали сте на енглеском. Функционисало је. Онда сте додали француски „само за одредишну страницу." Сада сте овде јер:

Ваша база кода има lang= провере расуте кроз 47 фајлова

Менаџери производа питају „можемо ли да A/B тестирамо текст?" а инжењеринг каже „не без преписивања".

Имате три различита процеса превођења и ниједан не ради поуздано

Шта сам видео да се квари:

  • Тимови који троше више од 6 месеци да накнадно уграде i18n у Next.js апликацију јер су текстови били уграђени у компоненте
  • Датотеке превода губе синхронизацију јер програмери не знају коју датотеку треба да ажурирају
  • Периоди „замрзавања локализације" пред објављивање јер нико нема поверења у процес превођења
  • Отпор промени било ког преведеног садржаја јер је радни процес изузетно мучан

У чему помажем:

  • Стратегије рефакторисања које омогућавају постепено усвајање i18n (не захтевам приступ „заустави све и препиши")
  • Дизајн процеса за одржавање синхронизације превода без блокирања развоја
  • Преглед архитектуре да утврдимо где ће Ваш тренутни приступ отказати када пређете на више од 10 језика

i18n је архитектура, а не функционалност. Покушај да се то дода касније је као да одлучите да Вашој кући треба подрум након што сте је већ изградили.

Помажем Вам да ископате тај подрум — или да одлучите да ли Вам је заиста потребан.

RTL квари све

Ваш UI није направљен за арапски, хебрејски или урду

Пребацили сте dir=„rtl" и гледали како се распоред потпуно поремети:

Падајући менији се отварају у погрешном смеру
Иконице показују у погрешном смеру
Flexbox распореди се урушавају или стварају чудна преклапања
Описи алатки се појављују ван екрана
Плутајући елементи потпуно игноришу смер текста

Шта сам видео:

  • Дизајн системи са преко 200 компоненти, од којих само 12 исправно подржава RTL.
  • Тимови који користе float: left уместо логичких својстава, што доводи до RTL грешака при свакој новој функционалности.
  • Скочни прозори и модали који захтевају RTL прилагођавања специфична за компоненту
  • Оквири који тврде „RTL подршку", а само окрећу смер распореда, али нарушавају логику позиционирања елемената

У чему помажем:

  • Миграција на логичка CSS својства (margin-inline-start уместо margin-left)
  • Аудити дизајн система како би се пронашле RTL замке пре испоруке.
  • Смернице специфичне за фрејмворк (Tailwind, shadcn, MUI) за стилизовање оријентисано на RTL

Ручно исправљање RTL грешака у свакој компоненти је неодрживо. Чиним RTL подршку систематском, уместо сталног гашења пожара.

„Немачки текст је покварио наше дугме"

Кориснички интерфејс који није прилагођен за превођење

Енглески стаје. Немачки не стаје. Ваш дизајн је претпостављао:

Ознаке дугмади су ~10 знаковаКорисничка имена стају у колону од 200pxПоруке о грешкама су у једном реду

Затим сте превели на немачки, фински или тајландски и открили:

Дугмад одсечена на пола речи

Табеле са хоризонталним померањем у сваком реду

Текст који се прелама у нечитљиве блокове

Нелатинични текст се скраћује јер контејнери имају фиксне ширине

У чему помажем:

  • Еластични UI обрасци који се прилагођавају дужини садржаја
  • Планирање буџета знакова (имајући у виду да се немачки текст шири за 30 %, а тајландски не користи размаке)
  • Типографски системи који обрађују CJK, арапско и деванагари писмо без грешака

Помажем вам да направите UI који издржи превођење — пре него што платите за 10.000 речи које не стану.

Не треба Вам објашњење зашто је i18n важан. Треба Вам неко ко је тражио грешке у RTL искачућим прозорима у 2 ујутру, расправљао се са продуктним тимом око ограничења броја карактера и осмислио процесе превођења који заиста функционишу.

Замке на које Вас нико није упозорио

Ратне приче тимова који су кроз то прошли

Ово није теорија. Ово су проблеми који су се дешавали у продукцији:

Пакао плурализације

Енглески: „1 ставка" vs „2 ставке"

Пољски: "1 przedmiot" / "2 przedmioty" / "5 przedmiotów" (3 облика множине)

Арапски: 6 облика множине

Ваша логика за избор између једнине и множине више не ради.

Хаос са датумом/временом

Форматирали сте датуме помоћу toLocaleDateString(). Корисници у Јапану су затим видели „2025年2月9日" у Вашим CSV извозима, а Excel се заглавио.

Неслагање API језика

Ваш фронтенд захтева француски. Ваш API враћа енглески јер токен за аутентификацију не носи локал. Сада имате UI са мешавином језика и корисници мисле да је то грешка.

Тестирање псеудо-локализације

Нисте тестирали са [Ţĥîś îś ţéśţ ţéẋţ ţĥàţ éẋþàñðś 30 %] пре пуштања у продукцију. Сада је Ваш пољски сајт неупотребљив.

Невидљива претпоставка

Претпоставили сте да само стрингове треба преводити. А онда сте наишли на датуме, бројеве, валуте, сортирање, претрагу — све зависи од локала.

У чему помажем:

  • ICU MessageFormat имплементација (обрада множине, рода, контекста)
  • Обрасци i18n за API (преговарање о језику, стратегије резервног решења)
  • QA процеси који откривају ове проблеме пре него што их преводилачке агенције уоче

Радни ток је најтежи део

Како одржавате 8 језика синхронизованим када испоручујете свакодневно?

Технологију сте савладали. Сада сте заглављени у процесу:

1

Програмери спајају код са новим енглеским текстовима. Преводи касне 2 недеље. Корисници виде делимично преведен кориснички интерфејс.

2

Не знате који стрингови се могу безбедно обрисати (да ли се користе, да ли су преведени или су у обради код агенције?).

3

Продуктни тим жели да ажурира текст. Нико не зна да ли ће промена 'Пошаљи' у 'Поднеси' изазвати проблеме на 12 језика.

4

Датотеке превода недељама нису синхронизоване са продукцијом

Питања која ми тимови постављају:

„Да ли наш API треба да враћа преведени садржај или да дозволи фронтенду да то обради?"
„Како да управљамо верзијама превода?"
„Шта је главни извор истине: Figma, кодна база или алат за превођење?"
„Како да спречимо програмере да испоручују функционалности само на енглеском?"

Шта сам видео да се квари:

  • Датотеке превода унете у git, а које одступају од продукцијских текстова
  • Упозорења „не дирај шпанску датотеку" јер нико не зна шта је безбедно за измену.
  • Функционалности лансиране на енглеском, затим преведене 6 месеци касније (ако се икада преведу)

У чему помажем:

  • Дизајн процеса превођења (када користити i18n библиотеке, када TMS, а када AI)
  • Git радни токови за одржавање синхронизације изворних текстова и превода
  • Аутоматизација која блокира PR-ове ако нови стрингови нису означени за превођење

Технологија је решив проблем. Радни ток је препрека. Осмишљавам радне токове који не захтевају херојске напоре за одржавање.

Тимови са којима сам радио

Глобални производи, регионална експертиза

Логотип LINE (Japan, Taiwan, Thailand)

LINE (Japan, Taiwan, Thailand)

Платформа за размену порука која покрива 3 примарна тржишта источне Азије. Радио сам на изазовима специфичним за руковање CJK карактерима, интеграцију са екосистемом платформе и очекивања корисничког искуства која се разликују у Јапану, Тајвану и Тајланду.

Логотип KakaoTalk (South Korea)

KakaoTalk (South Korea)

Водећа платформа за размену порука у Кореји. Решени су специфични захтеви корејског тржишта, укључујући очекивања у погледу формалности језика у корисничком интерфејсу и потребе за интеграцијом платформе.

Логотип Change.org (196 countries, 20+ priority languages)

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

Глобална платформа за петиције где су и брзина и квалитет садржаја подједнако важни. Помогли смо у осмишљавању процеса превођења за политички и друштвени кориснички генерисан садржај на различитим тржиштима.

Логотип Airbnb (220+ countries, 60+ languages)

Airbnb (220+ countries, 60+ languages)

Глобално тржиште са сложеним i18n захтевима. Консултовано је о изазовима поверења и безбедности на више језика и културној адаптацији концепата платформе за различита тржишта.

Логотип Intercom (30+ languages, global B2B SaaS)

Intercom (30+ languages, global B2B SaaS)

Платформа за комуникацију са клијентима која служи глобалним корпоративним клијентима. Радио сам на интернационализацији производа за алатке за тренутну подршку и на локализацији базе знања.

Логотип Lilith Games (China, Japan, Korea, US, EU)

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

Издавач мобилних игара чији су производи дистрибуирани широм света. Решавани су изазови специфични за тржиште у вези са локализацијом садржаја и регионалним захтевима платформи.

Тржишта на којима сам лансирао:

Источна Азија (Јапан, Кореја, Кина):

CJK типографија, интеграција екосистема платформе, подршка за вертикални текст

Југоисточна Азија (Тајланд, Вијетнам, Индонезија):

Подршка за више писама, корисничка очекивања усмерена на мобилне уређаје

MENA (арапско говорно подручје):

Захтеви за RTL распоред, очекивања формалног и колоквијалног језика, прилагођавање културног садржаја

Европа:

24 званичних језика, лансирање производа у више земаља

Америке:

Регионалне варијације језика (латиноамерички шпански у односу на шпански из Шпаније, бразилски португалски), двојезична тржишта

Видео сам шта функционише, а шта не на овим тржиштима—не из теорије, већ из испоруке производа на које се стварни корисници ослањају.

Хајде да решимо шта се квари

Не треба Вам објашњење зашто је i18n важан. Треба Вам неко ко је тражио грешке у RTL искачућим прозорима у 2 ујутру, расправљао се са продуктним тимом око ограничења броја карактера и осмислио процесе превођења који заиста функционишу.

Преглед архитектуре и стратегије (1-2 недеље):

Рећи ћу вам шта ће се покварити када додате наредних 3 језика и колико ће коштати да се то поправи

Подршка за лансирање на тржиште (4-8 недеља):

Започињете пословање у Јапану/MENA/EU и потребни су Вам стручњаци који су то већ радили.

Континуирано партнерство:

Консултантска подршка док проширујете са 2 на 20 језика

Не бавим се теоријом. Бавим се тријажом, планирањем и испоруком.