안드로이드 개발 질문/답변
(글 수 45,052)
안드로이드 단말에서 Setting 을 선택하면
Locale & text -> Select locale -> English 와 같이 선택이 가능합니다.
이때 선택하여 설정되어 있는 English 라는 언어를 프로그램에서 알아내려고 합니다.
최초에는 아래와 같이 어플리케이션 시작시 언어를 본인이 설정해서 들어가게 했지만,
import java.util.Locale;
Locale lc = new Locale("KOREAN");
..
..
Log.d("Language", lc.getDisplayLanguage());
위와는 달리 디폴트로 현재 Setting 에서 설정해놓은대로 기본값을 지정하려고 합니다.
Chinese , English, Korean 등등의 값을 얻고 싶습니다.
어떻게 값을 얻어와야하는지 조언 부탁드립니다.
ps. android.os 패키지 쪽에 있지 않을까 싶어서 찾아보고 있는 중입니다.
2009.06.24 18:51:08
Locale lc = new Locale("KOREAN");
Locale [] locale = lc.getAvailableLocales();
for (int x = 0; x < locale.length ; x++ )
{
Log.d("locale", (locale[x]).toString() ); // 사용가능한 모든 것 출력.
}
Log.d("locale", lc.getLanguage()); // 위에서 KOREAN 으로 선언했으므로 korean으로 나옴.
Log.d("locale", (lc.getDefault()).toString() ); // 이것이 사용하고 있는것...인것 같네요. 결과값 enu_US 가 나옵니다.
질문 올려놓고 이것저것 하다보니, en_US 가 제대로 나온것 같긴한데.. 애뮬에서 확인 한번 더 해봐야겠네요.
2009.06.24 21:23:43
getResources().getConfiguration().locale에서도 가져올수 있습니다. Locale에서 직접 가져올수 있는줄은 저도 몰랐네요. 좋은 정보 감사합니다.