반응형
개발을 하다 보면 시스템 설정이 아닌 앱 내에서 언어를 변경해야 하는 경우가 있다.
전에는 적용하려면 리소스를 찾아서 적용해줘야 했는데 간단한 방법이 있어서 올립니다.
다른 언어 추가
- string.xml 파일 생성 : res - values-ko 또는 res - values-en
- string.xml에 String 값 만들어 준다.
언어 변경
1. configuration에 원하는 언어의 Locale을 설정해줘서 createConfigurationContext()로 Context를 만든다.
public static Context updateResourcesLocale(Context context, Locale locale) {
Configuration configuration = context.getResources().getConfiguration();
configuration.setLocale(locale);
return context.createConfigurationContext(configuration);
}
2. BaseActivity를 만들어서 attachBaseContext를 Override해서 new Context를 적용한다.
@Override
public void attachBaseContext(newBase context) {
super.attachBaseContext(Utils.updateResourcesLocale(newBase, Locale.US))
}
728x90
반응형
'개발 > Android' 카테고리의 다른 글
[Android] Google Maps API - 사용하기 2 (0) | 2022.10.01 |
---|---|
[Android] Google Maps API - 사용하기 1 (2) | 2022.09.30 |
[Android] getContext와 requireContext 차이점 (0) | 2022.08.30 |
[Android] 면접 질문 - 1 (0) | 2022.08.17 |
[Android] Manifest merger failed : Attribute application@usesCleartextTraffic value=(true) (0) | 2022.08.14 |
댓글