안녕하세요.
다국어 지원하면서 인도네이사어의 코드를 찾아보니까
http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
Austronesian | Indonesian | Bahasa Indonesia | id | ind | ind | ind | Covered by macrolanguage [ms/msa] |
언어 코드가 id로 나오더군요.
그래서 values-id 로 폴더 만들어서 strings.xml 파일을 넣어 두었답니다.
어제 확인차 언어를 인도네이아어로 변경을 보았는데,
그냥 영어가 나오더군요.
아 뭐지?
그래서 구글 검색해보니까. 같은 문제에 대한 질문이 있더군요.
답변을 보니다. in을 사용하랍니다.
그런데, 국가코드표에는 in은 없습니다. ㅡㅡ
아무튼 values-in 으로 변경하니까
인도네이아어 잘 나옵니다.
참고하세요!
Java의 Locale 이슈인듯 합니다.
http://developer.android.com/reference/java/util/Locale.html
요기 보니까 다음과 같이 적혀있네요.
Note that Java uses several deprecated two-letter codes. The Hebrew ("he") language code is rewritten as "iw", Indonesian ("id") as "in", and Yiddish ("yi") as "ji". This rewriting happens even if you construct your own Locale
object, not just for instances returned by the various lookup methods.
맞습니다.
언어코드와 국가코드는 다르구요.
http://developer.android.com/reference/java/util/Locale.html
The language codes are two-letter lowercase ISO language codes (such as "en") as defined by ISO 639-1. The country codes are two-letter uppercase ISO country codes (such as "US") as defined by ISO 3166-1. The variant codes are unspecified.
본문 링크는 언어코드 링크랍니다^^
그러네요.
ISO 639-1 목록에는 id 인데..
in 으로 실제 동작하는게 희한하네요.