| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 백준
- 네트워크
- 삼성SW테스트
- 익명객체
- 데이터베이스
- 프로그래머스
- dfs
- dp
- backjoon
- 익명클래스
- 재귀함수
- 알고리즘
- IT
- Android
- 언더라이터
- 삼성sw문제
- Java
- BFS
- CKLU
- 조합
- 개발
- 다이나믹 프로그래밍
- 자바
- 모바일
- 너비탐색
- 현대오토에버 코딩테스트
- 멀티스레드
- 금융IT
- 안드로이드
- 백준 알고리즘
- Today
- Total
Limky 삽질블로그
[Android] 앱 다국어 설정하는 방법 본문
안드로이드는 기본적으로 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 |