안드로이드는 기본적으로 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영역에서 언어설정을 변경시켜줘도 상관없다. 안드로이드 폰자체적으로 언어를 바꾸는 부분은 개발은 아니기 때문에 스크랩하지않는다. 엄청 간단하기도하고...므튼 방법은 프로젝트 취지에 더 맞는 방법을 사용하면 될 것이다.
'프로그래밍 > Android' 카테고리의 다른 글
[Android] Android Monkey를 이용한 UI 테스트 (0) | 2017.05.18 |
---|---|
[Android] 캐싱 이미지처리나, 큰 이미지 처리시 메모리 누수방지 (0) | 2017.05.18 |
[Android] 하나의 안드로이드 프로젝트에 또 다른 안드로이드 프로젝트 import 시키기.(multi import project) (1) | 2017.05.18 |
[Android] aar파일 import 하기 (0) | 2017.05.18 |
[Android] 안드로이드를 시작하며.. (0) | 2017.05.18 |
댓글