Ответ
Тестирование интернационализации (i18n) — это проверка способности приложения поддерживать различные языки, региональные настройки и культурные конвенции без изменений в коде. Оно гарантирует, что продукт готов к локализации.
Ключевые аспекты проверки:
- Поддержка кодировок и Unicode: корректное отображение символов разных языков.
- Внешние строки: отсутствие "хардкода" текста в коде (все строки вынесены в ресурсные файлы).
- Форматирование данных: дат, чисел, валют, адресов в соответствии с локалью.
- Масштабирование интерфейса: адаптация под разную длину текста (например, немецкий часто длиннее английского).
- Поддержка RTL (справа налево): корректная работа с арабским, ивритом и т.д.
Пример проверки форматирования в Python:
import locale
# Устанавливаем локаль для России
locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8')
# Форматируем валюту
print(locale.currency(1000, grouping=True))
# Ожидаемый вывод: "1 000,00 руб."
Типичные дефекты: переполнение текстовых полей, "кракозябры" из-за неверной кодировки, некорректная сортировка.