본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[Android/안드로이드] 단말 언어 세팅에 따른 string 값 자동 적용하는 방법.

by 돼지왕 왕돼지 2012. 2. 9.
반응형


안녕하세요 돼지왕왕돼지입니다.
오늘은 단말 언어 세팅에 따라 string 값을 자동으로 적용하는 방법에 대해 알아보겠습니다.


무슨 말이냐?

 
[Setting] - [Language] 에 가면 단말을 여러 언어로 지원 가능한 것은 아시죠? 이 언어를 한국어에서 영어로 변경했을 때, Activity에서 원래 "선택" 이라고 나오던 글자를 자동으로 "Select"라고 나오도록 하자는 말입니다. 이걸 코딩으로 하냐구요? 아닙니다.
 


그럼 어떻게 하는데요?

 
말 그대로 코딩으로 할 경우에는 java 파일 안에 각 국 언어에 대한 string 이 모두 들어가 있어야 하며, 언어변화를 감지하여 코드에서 해줘야 할 일이 많습니다. 착한 안드로이드에서는 이 작업을 안드로이드의 특성 중 하나인 xml 을 이용하여 쉽게 할 수 있도록 미리 만들어놨더군요.
 
프로젝트를 생성하면 res 폴더 아래 values 폴더가 기본으로 있고 그 안에 strings.xml 이 있는 것을 확인 할 수 있죠.


 
values 폴더를 확장하면 자동으로 각국 언어들에 대해 지원이 됩니다.
어떻게 하냐구요?

예를 들어 내 앱이 영어, 일본어, 그리고 한국어에 대해 지원을 하고 싶다면, 

 values-en, values-ja, values-ko 이라는 세개의 폴를 만듭니다.
각각의 폴더에 strings.xml 을 만들어서 각 string 항목마다 언어에 맞는 값을 넣어주면 되겠습니다. 
 

<일본은 values-ja>
 
 

values-en\strings.xml

<resources>

    <string name="select">Select</string>

</resources>


 values-ja\string.xml

<resources>

    <string name="select">選択</string>

</resources>


values-ko\string.xml

<resources>

    <string name="select">선택</string>

</resources>


 
이 방법을 활용하면 쉽게쉽게 언어 확장을 할 수 있습니다.

다른 언어들에 대해서는 안 되냐구요? 당연히 됩니다.
values-[국가코드] 를 넣어주면 되는데 국가코드는 다음 사이트의 ISO-639-1 에서 찾아 쓰시면 되겠습니다.
http://www.loc.gov/standards/iso639-2/php/code_list.php  

 
로그인 없이 추천 가능합니다. 손가락 꾸욱~

반응형

댓글