2015년 10월 3일 토요일

안드로이드 다국어 지원 리소스 입력




다국어 지원에 대한 내용은 안드로이드 localization 문서를 보면 됩니다.

http://developer.android.com/guide/topics/resources/localization.html

리소스 폴더 이름에 2글자 추가 언어 코드를 넣어야 하는데 ISO 639-1 에 나온 문자를 사용하면 됩니다.

Language and regionExamples:
en
fr
en-rUS
fr-rFR
fr-rCA
etc.
The language is defined by a two-letter ISO 639-1 language code, optionally followed by a two letter ISO 3166-1-alpha-2 region code (preceded by lowercase "r").
The codes are not case-sensitive; the r prefix is used to distinguish the region portion. You cannot specify a region alone.
This can change during the life of your application if the user changes his or her language in the system settings. See Handling Runtime Changes for information about how this can affect your application during runtime.
See Localization for a complete guide to localizing your application for other languages.
Also see the locale configuration field, which indicates the current locale.

 ISO 639-1
http://www.loc.gov/standards/iso639-2/php/code_list.php

한국어의 경우 ko를 사용합니다.
korkoKoreancoréenKoreanisch
영어는 en을 사용합니다.
engenEnglishanglaisEnglisch

영어 추가를 위해서 res 폴더 아래 values-en 폴더 추가
한국어 추가를 위해서 res 폴더 아래 valuse-ko 폴더 추가
기존에 존재하는 values폴더의 내용중 다국어 지원을 위한 xml파일을 복사해주고 해당 언어에 맞게 수정해주면 됩니다.
즉 values의 strings.xml을 각각의 폴더에 복사해 넣어주고 해당 언어에 맞게 본문을 수정해 주면됩니다.

앞에서 사용했던 예제의 내용을 가져와 봤습니다.
values/strings.xml
<resources>
    <string name="app_name">AllCalc</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
</resources>

values는 어디에도 존재하지 않는 locale값을 가질때 사용하는 값입니다.
따라서 values/strings.xml -> values-en/strings.xml로 복사해주고,
values-ko/strings.xml 에도 복사해준뒤 아래와 같이 해주면 됩니다.

values-ko/strings.xml
<resources>
    <string name="app_name">카톡형 계산기</string>
    <string name="hello_world">헬로우월드</string>
    <string name="action_settings">설정</string>
</resources>



댓글 없음:

댓글 쓰기