Android 13에 새롭게 도입된 개별 언어 설정 적용(android:localeConfig)
애플리케이션 개별 언어 설정은 Android 13에 도입된 새로운 기능으로, 각 앱에 개별적으로 언어를 설정할 수 있으므로 시스템의 전역 언어 설정을 무시할 수 있습니다. Android 13의 공식 버전에서 앱이 이 기능을 지원하도록 하려면 AndroidManifest.xml 파일에서 android:localeConfig 특성을 구성해야 합니다.
먼저 res/xml 디렉토리에 locales_config.xml 파일을 만들고 앱에서 지원하는 언어 목록을 구성합니다.
<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
<locale android:name="en"/>
<locale android:name="ko"/>
<locale android:name="fr"/>
<locale android:name="ja"/>
<locale android:name="zh"/>
</locale-config>
다음으로 다음과 같이 AndroidManifest.xml에서 이 locales_config.xml 파일을 참조합니다.
<manifest>
<application
...
android:localeConfig="@xml/locales_config">
</application>
</manifest>
휴대폰 설정에서 시스템의 애플리케이션별 언어 설정 목록에 앱이 나타납니다.
사용자가 한국어를 선택하면 휴대폰 시스템의 언어가 영어라도 우리 앱에 표시되는 텍스트는 한국어입니다.
Android 14에서는 이 기능이 확장되었으며 현재 Developer Preview 버전에는 두 가지 기능이 추가되었습니다.
첫째, 이제 LocaleManager의 setOverrideLocaleConfig() 메서드를 호출하여 Android 13과 같이 AndroidManifest.xml에서만 구성하는 대신 현재 애플리케이션에서 지원하는 언어 목록을 동적으로 설정할 수 있습니다.
언어 목록을 동적으로 설정하는 기능을 사용하면 지원되는 언어 목록을 클라우드를 통해 서버에서 제어할 수 있는 등 유연성이 높아집니다.
둘째, 입력 방법 소프트웨어는 LocaleManager의 getApplicationLocales() 메서드를 호출하여 현재 앱에 표시되는 언어를 가져올 수 있습니다. 이러한 방식으로 키보드는 사용자의 입력 요구 사항을 충족하도록 대상 방식으로 조정할 수 있습니다.
[reference]
- https://blog.csdn.net/guolin_blog/article/details/129460619
- https://blog.csdn.net/guolin_blog/article/details/124061726