Android 13 개발자 프리뷰에 오신 것을 환영합니다. Android 13을 최고의 버전으로 만들 수 있도록 의견을 제공해 주세요.

앱별 언어 환경설정

다국어 사용자의 경우 시스템 언어는 한 가지 언어(예: 영어)로 설정하지만 특정 앱에는 다른 언어(예: 네덜란드어나 중국어, 힌디어)를 선택하고자 할 수 있습니다. 앱이 이러한 사용자에게 더 나은 환경을 제공할 수 있도록 Android 13에서는 다국어를 지원하는 앱에 다음과 같은 새로운 기능이 도입되었습니다.

여러 언어를 지원하지 않는 앱은 이러한 변경사항의 영향을 받지 않습니다.

API 구현

현재 맞춤 인앱 언어 선택 도구를 사용하지 않는 앱의 경우 추가 작업이 필요하지 않습니다.

인앱 언어 선택 도구가 있거나 이를 사용하려는 앱의 경우 앱의 맞춤 로직 대신 새 API를 사용하여 사용자가 선호하는 앱 언어를 설정하고 가져옵니다.

AndroidX 지원 라이브러리를 사용하여 구현

이전 Android 버전과의 호환성을 위해, 인앱 언어 선택 도구를 구현할 때는 AndroidX 지원 라이브러리를 사용할 것을 권장합니다. Appcompat 1.6.0-alpha01 이상에서 제공하는 setApplicationLocales() 메서드를 사용하세요.

예를 들어 사용자가 선호하는 언어를 설정하려면 사용자에게 언어 선택 도구에서 언어를 선택하도록 요청한 후 시스템에서 값을 설정합니다.

Kotlin

val appLocale: LocaleListCompat = LocaleListCompat.forLanguageTags("xx-YY")
// Call this on the main thread as it may require Activity.restart()
AppCompatDelegate.setApplicationLocales(appLocale)

자바

LocaleListCompat appLocale = LocaleListCompat.forLanguageTags("xx-YY");
// Call this on the main thread as it may require Activity.restart()
AppCompatDelegate.setApplicationLocales(appLocale);

Android 프레임워크 API를 사용하여 구현

Android 프레임워크 API를 사용하여 setApplicationLocales()getApplicationLocales() 메서드로 인앱 언어 선택 도구를 구현할 수도 있습니다.

예를 들어 사용자가 선호하는 언어를 설정하려면 사용자에게 언어 선택 도구에서 언어를 선택하도록 요청한 후 시스템에서 값을 설정합니다.

// 1. Inside an activity, in-app language picker gets an input locale "xx-YY"
// 2. App calls the API to set its locale
mContext.getSystemService(LocaleManager.class
    ).setApplicationLocales(newLocaleList(Locale.forLanguageTag("xx-YY")));
// 3. The system updates the locale and restarts the app, including any configuration updates
// 4. The app is now displayed in "xx-YY" language

언어 선택 도구에 표시할 사용자의 현재 선호 언어를 가져오려면 앱이 시스템에서 값을 다시 가져오면 됩니다.

// 1. App calls the API to get the preferred locale
LocaleList currentAppLocales =
    mContext.getSystemService(LocaleManager.class).getApplicationLocales();
// 2. App uses the returned LocaleList to display languages to the user

사용자를 위한 시스템 설정

사용자는 새로운 시스템 설정을 통해 앱별로 원하는 언어를 선택할 수 있습니다. 이 설정은 다음과 같은 두 가지 방법으로 액세스할 수 있습니다.

  • 시스템 설정을 통해 액세스

    설정 > 시스템 > 언어 및 입력 > 앱 언어 > (앱 선택)

  • 앱 설정을 통해 액세스

    설정 > 앱 > (앱 선택) > 언어

알려진 문제

앱을 테스트할 때 유의해야 하는 몇 가지 알려진 문제가 있습니다.

  • 사용 가능한 언어 목록이 앱에서 지원하는 언어를 반영하지 않을 수 있습니다.
  • 앱에서 분할 APK를 사용하는 경우 앱 언어가 변경될 때 이러한 APK가 자동으로 다운로드되지 않습니다.
  • UI는 향후 버전에서 계속 변경될 예비 버전입니다.