Что такое тестирование интернационализации (i18n)?

«Что такое тестирование интернационализации (i18n)?» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Тестирование интернационализации (i18n) — это проверка способности приложения поддерживать различные языки, региональные настройки и культурные конвенции без изменений в коде. Оно гарантирует, что продукт готов к локализации.

Ключевые аспекты проверки:

  • Поддержка кодировок и Unicode: корректное отображение символов разных языков.
  • Внешние строки: отсутствие "хардкода" текста в коде (все строки вынесены в ресурсные файлы).
  • Форматирование данных: дат, чисел, валют, адресов в соответствии с локалью.
  • Масштабирование интерфейса: адаптация под разную длину текста (например, немецкий часто длиннее английского).
  • Поддержка RTL (справа налево): корректная работа с арабским, ивритом и т.д.

Пример проверки форматирования в Python:

import locale
# Устанавливаем локаль для России
locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8')
# Форматируем валюту
print(locale.currency(1000, grouping=True))
# Ожидаемый вывод: "1 000,00 руб."

Типичные дефекты: переполнение текстовых полей, "кракозябры" из-за неверной кодировки, некорректная сортировка.