Что такое интернационализация и локализация
Что проверяют
Тестировщика спрашивают не про определения, а про то, умеет ли он ловить дефекты многоязычности до того, как их увидит носитель языка. Заодно проверяют, понимает ли он, что часть проверок возможна ещё до появления переводов.
Как отвечать
Интернационализация это подготовка продукта к разным языкам и регионам: строки вынесены из кода, вёрстка не завязана на длину текста, даты, числа, валюты и сортировка идут через средства локали, везде Unicode. Локализация это наполнение под конкретный регион: перевод, форматы, единицы измерения, юридические тексты, изображения.
Отсюда практический вывод для тестирования: интернационализацию проверяют до перевода. Псевдолокализация подставляет вместо строк удлинённый текст с диакритикой и ограничителями, и сразу видно необёрнутые строки и обрезанные кнопки.
Что входит в набор проверок:
- длина строк: немецкий и русский заметно длиннее английского, кнопки и таблицы обязаны это пережить;
- множественное число: в русском три формы, в арабском больше, а фраза, склеенная из куска текста и числа, ломается всегда;
- направление письма: арабский и иврит требуют зеркальной раскладки элементов и иконок;
- форматы: дата, разделители разрядов и дробной части, валюта, часовой пояс, первый день недели;
- сортировка и регистр: порядок букв зависит от локали, а приведение регистра в турецком с буквой i это классический дефект;
- ввод: имена, адреса, индексы и телефоны не должны проверяться по шаблону одной страны.
Где спотыкаются
Сводят локализацию к переводу и не трогают форматы. Между тем именно они меняют смысл: одна и та же строка с числом читается как разные суммы, а время без часового пояса сдвигает событие на сутки.
Переключают язык внутри приложения и считают проверку выполненной. Часть ресурсов вычитывается при старте, часть кэшируется, и дефект видно только после перезапуска или смены системной локали.
Проверяют только длинные переводы. Пустая или очень короткая строка ломает вёрстку не хуже, а фразы, собранные из кусков в коде, формально переведены, но в другом языке дают неверный порядок слов и падеж.