본문 바로가기
My Image
프로그래밍/Android

[Android] 앱 다국어 설정하는 방법

by Lim-Ky 2017. 5. 18.
반응형

안드로이드는 기본적으로 res디렉토리파일아래 value아래 string.xml 파일을 지니고있다. 이 string.xml파일에서 앱내에서 보여지는 모든 string들을 res파일 아래 string.xml파일에 한데 묶어서 관리하는 컨셉을 잡아야 다국어 앱을 만들 수 있다. 즉 string을 비지니스 로직에 직접 하드코딩하지않고 string을 따로 빼서 res/value/string.xml에 몰아서 string을 관리한다. 이렇게하면 앱내에서 언어코드를 바꿔주는 로직만 실행하면, 자동적으로 설정된 언어 value/sring.xml을 잡는다. value 파일명을 value-zh(중국어),value-en(영어),value-ja(일본어) 이런식으로 각 언어코드에 맞는 value 폴더를 만들어 res 폴더 아래 생성해주면 다국어 처리를 자동적으로 해준다.








언어코드를 설정해주는 로직을 java영역에서 처리해주면 끝.

Locale locale = new Locale(langCode);

Locale.setDefault(locale);

Configuration config = new Configuration();

config.locale = locale;

getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());


이렇게 직접 앱내에서 언어코드를 설정할 수도 있지만, 안드로이드 os영역에서 언어설정을 변경시켜줘도 상관없다. 안드로이드 폰자체적으로 언어를 바꾸는 부분은 개발은 아니기 때문에 스크랩하지않는다. 엄청 간단하기도하고...므튼 방법은 프로젝트 취지에 더 맞는 방법을 사용하면 될 것이다.




반응형

댓글