[android] App Bundle의 언어 및 지역 설정

안드로이드 앱을 개발할 때, 앱 번들(App Bundle)을 사용하여 한 번의 업로드로 여러 디바이스에 최적화된 자산을 제공할 수 있습니다. 앱 번들을 이용하면 다국어 및 지역에 맞는 리소스와 코드를 효율적으로 관리할 수 있습니다.

언어 리소스 관리

앱 번들을 통해 다국어 지원을 구현하려면, 언어별 리소스 디렉토리를 사용하여 각 언어에 해당하는 문자열, 그림 및 기타 리소스를 제공해야 합니다. 이를 위해 values 디렉토리 내에 언어 코드에 따라 하위 디렉토리를 생성하여 리소스를 관리합니다. 예를 들어, 한국어를 지원하려면 values-ko 디렉토리를 만들어 한국어 리소스를 관리합니다.

res/
    values/
        strings.xml
    values-ko/
        strings.xml
    values-ja/
        strings.xml

각 언어의 strings.xml 파일에는 해당 언어로 번역된 문자열 리소스가 포함됩니다.

지역별 리소스 관리

단순히 언어뿐만 아니라 각 지역에 맞는 특정 리소스를 관리해야 할 때도 있습니다. 이 때에는 지역 코드를 사용하여 리소스 디렉토리를 생성합니다. 예를 들어, 한국 지역을 지원하려면 values-ko-rKR 디렉토리를 만들어 해당 지역의 리소스를 추가로 관리합니다.

res/
    values/
        colors.xml
    values-ko/
        colors.xml
    values-ko-rKR/
        colors.xml

App Bundle 빌드 구성

앱 번들을 빌드할 때에는, build.gradle 파일에서 각 지역 및 언어에 맞는 설정을 추가해야 합니다. 아래는 앱 번들을 빌드할 때 한국어와 영어를 지원하는 예시입니다.

android {
    bundle {
        language {
           enableSplit = true
           include "en", "ko"
        }
        density {
            enableSplit = true
        }
    }
}

위의 구성을 통해 App Bundle은 각 언어 및 지역에 맞게 필요한 리소스를 포함한 APK 파일을 생성합니다.

앱 번들을 통해 각 언어와 지역에 맞는 리소스 및 코드를 효율적으로 관리하여, 사용자들에게 더 나은 지역화된 경험을 제공할 수 있습니다.

참고 자료