본문 바로가기
개발/Android

[Android] 앱내 언어 설정

by blacktree 2022. 9. 1.
반응형

개발을 하다 보면 시스템 설정이 아닌 앱 내에서 언어를 변경해야 하는 경우가 있다. 

전에는 적용하려면 리소스를 찾아서 적용해줘야 했는데 간단한 방법이 있어서 올립니다.

 

다른 언어 추가

  1. string.xml 파일 생성 : res - values-ko 또는 res - values-en
  2. 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
반응형

댓글