Тестирование локализации
Чтобы проверить локализацию, убедитесь, что для разных локалей отображаются правильные переведённые строки, а форматирование и макет адаптируются к требованиям локали.
Тестирование локалей на разных платформах
Android
На Android системную локаль устройства можно изменить в разделе Настройки | Система | Язык и ввод | Языки. Для автоматизированного тестирования можно изменить локаль непосредственно в эмуляторе с помощью оболочки adb:
adb -e shell setprop persist.sys.locale [BCP-47 language tag];stop;sleep 5;start
Эта команда перезапускает эмулятор, позволяя повторно запустить приложение с новой локалью.
Кроме того, перед запуском тестов можно программно настроить локаль с помощью таких платформ, как Espresso. Например, для автоматизации переключения локали во время тестов можно использовать LocaleTestRule().
iOS
На iOS системный язык и регион устройства можно изменить в разделе Настройки | Основные | Язык и регион. Для автоматизированных UI-тестов с использованием платформы XCUITest применяйте аргументы запуска, чтобы имитировать смену локали:
app.launchArguments = [
"-AppleLanguages", "(es)",
"-AppleLocale", "es_ES"
]
Настольные платформы
На настольных платформах локаль JVM обычно по умолчанию соответствует локали операционной системы. Расположение настроек зависит от платформы.
Локаль JVM по умолчанию можно программно задать в настройке тестов или в точке входа приложения до инициализации пользовательского интерфейса:
java.util.Locale.setDefault(java.util.Locale("es_ES"))
Веб
Для быстрой проверки можно изменить языковые настройки в параметрах браузера. Для автоматизированного тестирования инструменты автоматизации браузера, такие как Selenium или Puppeteer, могут имитировать смену локали.
Кроме того, можно попробовать обойти ограничение на запись свойства window.navigator.languages, чтобы задать пользовательскую локаль. Подробнее см. в руководстве Управление средой локальных ресурсов.
Основные сценарии тестирования
Пользовательская локаль
Программно переопределите локаль.
Убедитесь, что элементы пользовательского интерфейса, форматированные строки и макеты корректно адаптируются к выбранной локали, включая поддержку текста справа налево, если это применимо.
Ресурсы по умолчанию
Ресурсы по умолчанию используются, если для указанной локали нет перевода. Приложение должно корректно переключаться на эти ресурсы.
Задайте неподдерживаемое значение локали с помощью описанных выше методов для соответствующей платформы.
Убедитесь, что механизмы резервного переключения корректно загружают и отображают ресурсы по умолчанию.
Особенности отдельных локалей
Чтобы избежать распространённых проблем локализации, учитывайте следующие особенности локалей:
Проверьте форматирование с учётом локали, например форматирование дат (
MM/dd/yyyyиdd/MM/yyyy) и чисел.Проверьте поведение при письме справа налево и слева направо: убедитесь, что строки, макеты и выравнивание корректно отображаются для языков с письмом справа налево, например арабского и иврита.
Проверьте языки, использующие несколько систем письма: задайте локали
zh-Hans,zh-Hantиzhи убедитесь, что для каждой из них находится соответствующий ресурс.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform/compose-localization-tests.html