안녕하세요! Jetpack Compose로 멋진 안드로이드 앱을 개발하고 있다면, 앱을 세계 각국 사람들에게 제공하기 위해 간단한 처리만으로 다국어 지원 기능을 추가할 수 있습니다. 이번 블로그에서는 Jetpack Compose에서 어떻게 다국어를 지원하는지에 대해 알아보겠습니다.
리소스 파일 작성
먼저, 각 언어별 문자열을 저장하는 리소스 파일을 작성해야 합니다. res
폴더 내에 values
폴더를 생성한 후, 각 언어 코드에 해당하는 폴더(ex. values-ko
, values-en
)를 생성합니다. 그리고 각 폴더 내에 strings.xml
파일을 만들어 문자열을 리소스 파일에 추가합니다.
<!-- values/strings.xml -->
<resources>
<string name="app_name">My App</string>
<string name="welcome_message">안녕하세요, Jetpack Compose!</string>
...
</resources>
<!-- values-ko/strings.xml -->
<resources>
<string name="app_name">내 앱</string>
<string name="welcome_message">환영합니다, Jetpack Compose!</string>
...
</resources>
문자열 리소스 사용
Jetpack Compose에서 문자열 리소스를 사용하려면 stringResource()
함수를 사용하여 리소스 ID를 참조합니다. 코드에서 해당 문자열 리소스 ID를 찾아 해당 언어에 맞는 문자열을 표시할 수 있습니다.
@Composable
fun GreetUser() {
Text(text = stringResource(id = R.string.welcome_message))
}
시스템 언어 변경 지원
사용자가 장치의 언어를 변경하면 앱이 자동으로 해당 언어로 변경되어야 합니다. 이를 위해 LocalConfiguration
과 ContextAmbient
를 사용하여 시스템 언어를 확인하고 해당 언어에 따라 앱을 다시로드하거나 화면을 업데이트할 수 있습니다.
val configuration = LocalConfiguration.current
val locale: Locale = LocalConfiguration.current.locales[0]
마무리
Jetpack Compose를 사용하여 간단하게 다국어를 지원하는 것에 대해 알아봤습니다. 내가 개발한 앱을 더 많은 사용자에게 제공하기 위해 다국어 지원을 추가하는 것은 매우 중요합니다. 다국어 지원을 통해 사용자의 즐거움과 편의를 높일 수 있습니다.
다국어 지원에 대한 자세한 내용은 안드로이드 공식 문서를 참조하시기 바랍니다.
기다릴 시간이 없다면, Jetpack Compose 프로젝트에 다국어 기능을 추가해서 나만의 멋진 다국어 앱을 만들어보세요!