Skip to content

지역화 테스트

지역화를 테스트하려면 다양한 로케일에 대해 올바르게 번역된 문자열이 표시되는지 확인하고, 서식과 레이아웃이 로케일의 요구 사항에 맞춰 조정되는지 확인해야 합니다.

다양한 플랫폼에서 로케일 테스트

Android

Android에서 기기의 시스템 로케일을 Settings | System | Languages & input | Languages를 통해 변경할 수 있습니다. 자동화된 테스트의 경우, adb 셸을 사용하여 에뮬레이터에서 로케일을 직접 수정할 수 있습니다:

shell
adb -e shell
setprop persist.sys.locale [BCP-47 language tag];stop;sleep 5;start

이 명령어는 에뮬레이터를 재시작하며, 새로운 로케일로 앱을 다시 시작할 수 있게 합니다.

또는 Espresso와 같은 프레임워크를 사용하여 테스트를 실행하기 전에 로케일을 프로그래밍 방식으로 구성할 수 있습니다. 예를 들어, 테스트 중에 로케일 전환을 자동화하기 위해 LocaleTestRule()을 사용할 수 있습니다.

iOS

iOS에서 기기의 시스템 언어 및 지역을 Settings | General | Language & Region을 통해 변경할 수 있습니다. XCUITest 프레임워크를 사용하는 자동화된 UI 테스트의 경우, 시작 인수를 사용하여 로케일 변경을 시뮬레이션합니다:

swift
app.launchArguments = [
    "-AppleLanguages", "(es)",
    "-AppleLocale", "es_ES"
]

Desktop

데스크톱에서 JVM 로케일은 일반적으로 운영 체제의 로케일이 기본값으로 설정됩니다. 설정 위치는 다양한 데스크톱 플랫폼에 따라 다릅니다.

UI가 초기화되기 전에 테스트 설정 또는 애플리케이션 진입점에서 JVM 기본 로케일을 프로그래밍 방식으로 설정할 수 있습니다:

java
java.util.Locale.setDefault(java.util.Locale("es_ES"))

Web

빠른 확인을 위해 브라우저 환경 설정에서 언어 설정을 변경할 수 있습니다. 자동화된 테스트의 경우, Selenium 또는 Puppeteer와 같은 브라우저 자동화 도구로 로케일 변경을 시뮬레이션할 수 있습니다.

또는 window.navigator.languages 속성의 읽기 전용 제한을 우회하여 사용자 지정 로케일을 도입해 볼 수 있습니다. 자세한 내용은 튜토리얼에서 확인하세요.

주요 테스트 시나리오

사용자 지정 로케일

  • 로케일을 프로그래밍 방식으로 재정의합니다.
  • UI 요소, 서식 있는 문자열, 레이아웃이 선택된 로케일에 맞춰 올바르게 조정되는지, 해당하는 경우 오른쪽에서 왼쪽으로 쓰는 텍스트 처리도 포함하여 확인합니다.

기본 리소스

지정된 로케일에 대해 번역을 사용할 수 없을 때 기본 리소스가 사용됩니다. 애플리케이션은 이러한 기본값으로 올바르게 폴백해야 합니다.

  • 위에서 설명한 플랫폼별 메서드를 사용하여 로케일을 지원되지 않는 값으로 구성합니다.
  • 폴백 메커니즘이 기본 리소스를 올바르게 로드하고 제대로 표시하는지 확인합니다.

로케일별 사례

일반적인 지역화 문제를 피하려면 다음 로케일별 사례를 고려하십시오:

  • 날짜 서식 (MM/dd/yyyydd/MM/yyyy) 및 숫자 서식과 같은 로케일별 서식을 테스트합니다.
  • 아랍어 및 히브리어와 같은 오른쪽에서 왼쪽으로 쓰는 언어가 문자열, 레이아웃 및 정렬을 올바르게 표시하는지 확인하여 RTL 및 LTR 동작을 검증합니다.