Android Per-app language setting

사용 언어: Kotlin 1.7.10
사용 버전: Android Studio Chipmunk 2021.2.1 Patch 2

안드로이드 Per-app language setting을 알아보겠습니다.


안드로이드 13(API 33)부터 각 앱마다 언어를 설정할 수 있는 기능이 생깁니다.

에뮬레이터를 기준으로 설명하면 다음 위치에 있습니다.
Setting - System - Languages & input - App Languages





지금은 적용할 수 있는 앱이 없군요.



제 앱을 다른 언어로 적용할 수 있게 만들어보겠습니다.

res에서 마우스 우 클릭을 합니다.

New - Android Resource File을 누릅니다.






File name에는 locales_config를 적어줍니다.

Resource type에는 XML을 선택합니다.

Root element에는 locale-config를 적어줍니다.

Directory name에는 xml을 적어줍니다.








파일이 생성됩니다.







본인 앱이 지원하는 언어들을 적어줍니다.

여기서는 en 영어, ko 한국어, fr 프랑스어를 적었습니다.









AndroidManifest.xml로 갑니다.

18 번째 줄처럼 android:localeConfig="@xml/locales_config"를 적어줍니다.







빌드를 하면 이렇게 에러가 나옵니다.
Android resource linking failed.







알려진 문제를 보면, AGP 버전이 7.3.0-beta04 이상이어야 한다고 합니다. 







지금 쓰고 있는 Chipmunk는 AGP 7.2 밖에 사용할 수 없습니다.

아마 다음 버전인 Android Studio Dolphin을 써야 할 것 같네요. 









Dolphin은 지금 RC1 버전까지 올라왔습니다. 곧 조만간 출시되겠네요.






아직 정식 출시되지 않은 Android Studio는 Preview에서 다운로드할 수 있습니다.







다운로드해서 압축을 풀어줍니다.








bin - studio64.exe를 실행합니다.















처음 실행하면 설치 진행 창이 나옵니다. 설치를 해줍니다.









저는 기존에 있는 Android Studio가 있어서 그런지 위 작업을 안 해도 실행되더군요. 그래서 그냥 바로 실행해서 사용했습니다.




Gradle Plugin의 버전을 올려줍니다. 현재 저는 7.3.0-rc01을 사용할 수 있군요,








프로젝트 용 build.gradle에 classpath 'com.android.tools.build:gradle:7.3.0-rc01'을 적어줍니다.










Sync Now를 누릅니다.



다시 AndroidManifest.xml로 와서 android:localeConfig="@xml/locale_config"를 적어줍니다.










실행을 합니다.

Setting - System - Languages & input - App Languages에 들어갑니다.

이제 제가 만든 앱이 보입니다. 여기서 앱마다 언어를 다르게 설정할 수 있습니다.








System Default를 한국어로 변경했습니다.








실행하면 한국어로 나옵니다.








끝.


카테고리: Android

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python OpenCV 빈 화면 만들기

Python bytes.fromhex()

Android Minimum touch target size

KiCad 시작하기 2 (PCB 만들기)

tensorflow tf.random.uniform()

tensorflow tf.expand_dims()

Forensics .pyc 파일 .py로 복구하기

Android Notification with Full Screen

Android Java 8+ Api desugaring