Локалізація - це не переклад: мова, гроші, час і звички регіону
Нотатки

Локалізація - це не переклад: мова, гроші, час і звички регіону

Коли просять "зробити застосунок кількома мовами", зазвичай уявляють переклад: узяти написи й замінити на іншу мову. Але людина - це не лише мова, якою вона читає. У неї є цілий набір звичок, за якими вона впізнає "своє": як пишеться дата, де стоїть кома в числі, у яких одиницях вимірюється відстань, у якій валюті ціна, з якого дня починається тиждень. Перекладеш лише написи - матимеш застосунок, формально його мовою, але все одно чужий.

Справжня локалізація - це збігтися з людиною за всіма цими звичками одразу. Нижче - повний перелік того, що насправді входить у "зробити багатомовним і багаторегіональним", а не тільки переклад кнопок.

Текст - це не лише написи

  • Переклад інтерфейсу. Усі написи, підказки, листи, помилки - очевидна частина, з якої все починається.
  • Переклад самих даних. Статуси, категорії, назви країн і регіонів теж мають читатися мовою користувача, а не тільки написи навколо них. Половина екрана твоєю мовою, а дані всередині чужою - і відчуття "перекладено нашвидкуруч" нікуди не дівається.
  • Множина. У мов різні правила: в англійській дві форми (1 item / 5 items), у слов'янських - три й більше (1 деталь / 2 деталі / 5 деталей). Наївне "деталь(і)" видає машинність одразу.
  • Довжина тексту. Німецька фраза буває довшою за англійську мало не на третину, а інша, навпаки, коротша. Верстка має тягнутися під текст, а не ламатися й не обрізати слова.
  • Порядок сортування. Абетка - річ локальна: десь "ё" окрема літера, десь діакритика й буквосполучення змінюють порядок. Список, відсортований "як у базі", іншою мовою виглядає абияк.
  • Напрямок письма. Арабська та іврит пишуться справа наліво - це не "ще один переклад", а дзеркальний розворот усього макета.

Числа, гроші та одиниці

  • Формат чисел. 1 234,56 чи 1,234.56 - який роздільник тисяч і дробової частини. Одне й те саме число, записане незвично, читається із запинкою.
  • Одиниці вимірювання. Відстань (кілометри чи милі), об'єм (літри чи галони), вага, температура (°C чи °F). Американець мислить у милях і Фаренгейтах, європеєць - у кілометрах і Цельсіях; показувати треба кожному його.
  • Валюта - і тут тонкість, на якій легко обпектися. Формат валюти (символ, його місце, кількість знаків) локалізується завжди. А от конвертацію сум чіпати треба обережно:
Внимание

Показати ціну у валюті користувача - можна. Мовчки перераховувати збережені фінансові записи - не можна. Рахунок, виставлений у євро, лишається в євро; конвертація припустима лише за актуальним курсом і лише для показу, а не підміняє початкову суму. Переплутати "перевести для відображення" й "перерахувати дані" - дорога помилка: гроші мають сходитися копійка в копійку.

Час

  • Формати. Дата (09.07.2026 проти 07/09/2026), час (24 години проти 12 з AM/PM), перший день тижня (понеділок чи неділя - від нього рахуються календарі та звіти).
  • Часовий пояс. Момент часу зберігається всередині в єдиному всесвітньому часі, а показується кожному в його поясі й форматі; точний всесвітній час при цьому завжди під рукою. Про це - окрема замітка.
  • Відносний час. "2 години тому", "учора", "за 3 дні" - це теж текст, і він перекладається разом із правилами множини.

Як система вгадує регіон

  • Визначення на першому візиті. Браузер уже знає, якими мовами людина читає, у якому вона поясі, як у її системі пишуться дати й числа. Розумно прочитати ці підказки й запропонувати готові значення, а не зустрічати нового користувача анкетою з десяти налаштувань.
  • Вибір завжди головніший. Щойно людина сама змінила мову чи формат, її рішення запам'ятовується й відтоді важливіше за будь-які сигнали браузера. Підказка - для тих, хто ще нічого не вибрав.
  • Чий це вибір. Іноді мова - особисте налаштування користувача, іноді спільне для всієї компанії чи майданчика. Варто заздалегідь вирішити, чия звичка головніша й що береться за умовчанням.
  • Запасний варіант. Якщо для якогось тексту перекладу потрібною мовою немає, система показує його запасною мовою, а не порожнечу чи ключ-заглушку.

Інженерна дисципліна під цим

Три речі, без яких усе вище розпливається:

  • Одне джерело правди для перекладів. Тексти живуть в одному місці, а те, що вантажить браузер, збирається з них автоматично. Інакше пастка: правиш переклад у вже зібраному файлі, а наступна збірка його затирає - і перекладу ніби не було.
  • Зберігати еталон, форматувати на межі. Усередині - одне канонічне значення: час у єдиному поясі, сума у своїй валюті, величина в базових одиницях. Звичний формат наводиться в найостаннішу мить, на екрані. Тоді розрахунки лишаються точними, а кожен бачить своє.
  • Регіон - це фундамент, а не латка. Якщо мова й формати закладені як окремі налаштування від самого початку, нова мова чи ринок - це додати шар, а не переписати застосунок. Приробляєш переклад потім - платиш переробкою всього, що встиг зав'язати на одну мову.

Заощадити на локалізації не виходить - можна лише заплатити пізніше, переписуючи все, що нашвидкуруч зав'язали на одну мову.

Олександр

Олександр

Fullstack-розробник з 8+ роками досвіду - від промислової автоматизації та роботи з обладнанням до електронного документообігу і чат-ботів. Зараз фокус на прикладному ШІ - від RAG-платформ для діалогових ботів до комп'ютерного зору.