프로그래밍/Android Studio
[Android Studio] 안드로이드 설정 언어, Locale 의 모든 것
Br0Ma
2020. 7. 6. 17:29

[Android Studio] 디바이스 언어 불러오기, 언어에 따른 설정 변경 등 Locale의 모든 것
브로마입니다. 안드로이드 개발을 하다보면 해외를 타겟으로 앱을 제작해야하는 경우가 빈번하게 발생할 것입니다. 먼저 해당 디바이스의 locale 값을 받아오는 방법입니다.
| Locale mLocale = getResources().getConfiguration().locale; | cs |
그럼 이 mLocale이라는 변수에 해당 기기의 locale 값이 저장됩니다. 이렇게 저장된 locale은 한국어를 기준으로 "ko_KR"이라는 값을 갖습니다.
▶전세계 언어 Locale 확인하기
- English, US (en_US) 1.1
- German, Germany (de_DE) 1.1
- Chinese, PRC (zh_CN) 1.5
- Chinese, Taiwan (zh_TW) 1.5
- Czech, Czech Republic (cs_CZ) 1.5
- Dutch, Belgium (nl_BE) 1.5
- Dutch, Netherlands (nl_NL) 1.5
- English, Australia (en_AU) 1.5
- English, Britain (en_GB) 1.5
- English, Canada (en_CA) 1.5
- English, New Zealand (en_NZ) 1.5
- English, Singapore(en_SG) 1.5
- French, Belgium (fr_BE) 1.5
- French, Canada (fr_CA) 1.5
- French, France (fr_FR) 1.5
- French, Switzerland (fr_CH) 1.5
- German, Austria (de_AT) 1.5
- German, Liechtenstein (de_LI) 1.5
- German, Switzerland (de_CH) 1.5
- Italian, Italy (it_IT) 1.5
- Italian, Switzerland (it_CH) 1.5
- Japanese (ja_JP) 1.5
- Korean (ko_KR) 1.5
- Polish (pl_PL) 1.5
- Russian (ru_RU) 1.5
- Spanish (es_ES) 1.5
- Arabic, Egypt (ar_EG) 2.3
- Arabic, Israel (ar_IL) 2.3
- Bulgarian, Bulgaria (bg_BG) 2.3
- Catalan, Spain (ca_ES) 2.3
- Croatian, Croatia (hr_HR) 2.3
- Danish, Denmark(da_DK) 2.3
- English, India (en_IN) 2.3
- English, Ireland (en_IE) 2.3
- English, Zimbabwe (en_ZA) 2.3
- Finnish, Finland (fi_FI) 2.3
- Greek, Greece (el_GR) 2.3
- Hebrew, Israel (iw_IL)* 2.3
- Hindi, India (hi_IN) 2.3
- Hungarian, Hungary (hu_HU) 2.3
- Indonesian, Indonesia (in_ID)* 2.3
- Latvian, Latvia (lv_LV) 2.3
- Lithuanian, Lithuania (lt_LT) 2.3
- Norwegian-Bokmol, Norway(nb_NO) 2.3
- Portuguese, Brazil (pt_BR) 2.3
- Portuguese, Portugal (pt_PT) 2.3
- Romanian, Romania (ro_RO) 2.3
- Serbian (sr_RS) 2.3
- Slovak, Slovakia (sk_SK) 2.3
- Slovenian, Slovenia (sl_SI) 2.3
- Spanish, US (es_US) 2.3
- Swedish, Sweden (sv_SE) 2.3
- Tagalog, Philippines (tl_PH) 2.3
- Thai, Thailand (th_TH) 2.3
- Turkish, Turkey (tr_TR) 2.3
- Ukrainian, Ukraine (uk_UA) 2.3
- Vietnamese, Vietnam (vi_VN) 2.3
그리고 이렇게 받아온 locale 값은 String 데이터처럼 보이지만 String과 비교연산을 하는 등의 행위를 할 수 없습니다. 그래서 간편하게 이 locale 값을 String으로 아래와 같이 변경할 수 있습니다.
| String localeStr = curLocale.toString(); if (localeStr.equals("ko_KR")) { //ToDo For Korean } | cs |
그리고 위와 같이 미리 확인해둔 locale에 해당하는 문자열과 비교할 수 있습니다.
참고자료: http://www.apps4android.org/?p=3695