Когда приложение выходит на другие страны, его переводят на разные языки и подстраивают под местные привычки — это называется локализация. Проверка, что в каждой языковой версии всё правильно и ничего не сломалось, — это локализационное тестирование. Оно кажется простым («ну перевели и перевели»), но на деле полно ловушек, которые ловит именно внимательный тестировщик.

Разберём, что такое локализация, что конкретно проверять и какие баги здесь встречаются чаще всего.

Что такое локализация и интернационализация

Два похожих слова, которые стоит различать:

  • Интернационализация (i18n) — подготовка приложения к разным языкам на уровне кода: тексты вынесены отдельно, форматы дат и чисел не зашиты жёстко. Это делают разработчики.
  • Локализация (l10n) — собственно адаптация под конкретный язык и страну: перевод, местные форматы, валюта, картинки. Это то, что проверяет тестировщик.

Простыми словами: интернационализация — «приложение умеет говорить на разных языках в принципе», локализация — «на этом конкретном языке всё правильно».

Что проверять

Локализационное тестирование — это не только «сверить перевод». Основные направления:

  • Перевод. Всё ли переведено (не осталось ли английских слов в русской версии), нет ли ошибок и опечаток, влезает ли перевод по смыслу в контекст. Частая проблема — непереведённые куски: кнопка, сообщение об ошибке, письмо на почту.
  • Форматы. Даты (12.05.2024 против 05/12/2024 — день и месяц легко перепутать), числа (1 000,50 против 1,000.50), валюта (₽, $, €), единицы измерения. В разных странах — по-разному.
  • Вёрстка под длину текста. Немецкие и русские слова часто длиннее английских: перевод «Save» → «Сохранить» может не влезть в кнопку, текст обрезается или ломает вёрстку. Это самый частый локализационный баг.
  • Направление письма. Арабский и иврит пишутся справа налево (RTL) — весь интерфейс должен «отзеркалиться». Если продукт поддерживает такие языки, это отдельная большая проверка.
  • Культурные особенности. Картинки, цвета, примеры имён, телефонные форматы, что уместно, а что нет в конкретной стране.

Частые баги локализации

Что встречается чаще всего:

  • Обрезанный или вылезающий текст из-за того, что перевод длиннее оригинала.
  • Непереведённые фрагменты — особенно в редких местах: ошибки, письма, всплывающие подсказки, тексты на картинках.
  • Неправильные форматы — дата в чужом формате, точка вместо запятой в числах, не та валюта.
  • «Захардкоженный» текст — фраза, которую забыли вынести для перевода, и она осталась на языке разработки во всех версиях.
  • Смешение языков на одном экране — часть переведена, часть нет.

Хороший приём: проверять локализацию не только на «счастливом» коротком тексте, а специально искать самые длинные переводы и редкие экраны (ошибки, письма, пустые состояния).

Где это применяется

Локализационное тестирование нужно любому продукту, который работает больше чем на одном языке или в нескольких странах. Часто именно тестировщик замечает, что в немецкой версии кнопка обрезана, в русской осталось английское «Loading», а дата показана в американском формате и вводит пользователя в заблуждение. Это заметная и ценимая часть работы, особенно в международных командах.

Где спотыкаются начинающие:

  • Сводят проверку к «сверить перевод» и забывают про форматы, вёрстку под длинный текст и редкие экраны.
  • Проверяют только главные страницы, а непереведённое прячется в ошибках, письмах и подсказках.
  • Не отличают локализацию от обычной вёрстки — а обрезанный из-за перевода текст стоит заводить именно как локализационный баг с указанием языка.

Что учить дальше. Локализация — один из видов тестирования рядом с функциональным и нефункциональным и кроссбраузерным. Дальше по программе — инструменты тестировщика и работа в команде.