[Android] values / values-ko / 언어설정 / R.string

안드로이드는 기기마다, 해상도마다, 언어마다 지원해 줄 수 있는 resource를 각각 지정할 수 있습니다.
사실 각각이라는 표현보다는
같은 이름의 파일을, 같은 아이디를 가진 리소스를 여러개 만들어서 각 설정에 맞게 지원한다는 개념입니다.

Resource 및 Resource Providing 관련글
 
 [Android] Resource types - 안드로이드 리소스 타입
 
 [Android] Providing Resource, Resource Identifier - 리소스, 적합한 리소스 제공하기
  


안드로이드 프로젝트 생성시 기본적으로 생성되는 프로젝트를 기반으로 테스트 예제를 만들었습니다.
Default로 영어를 지원해주고, 한국어로 언어설정이 되어있을경우는 한국어를 지원해 주는 예제입니다.

파일은 아래와 같이 구성되어 있습니다.

me.croute.providingresource
 - ProvidingResourceExampleActivity.java

res/layout
 - main.xml

res/values
 - strings.xml

res/vaues-ko
 - string.xml



 ProvidingResourceExampleActivity.java





 main.xml (res/layout)





 strings.xml (res/values)





 strings.xml (res/values-ko)








먼저 이렇게 설정된 애플리케이션을 한국어로 설정되어있는 제 폰에 설치했습니다.

설치할때(한국어) -> 언어설정확인(한국어) ->애어플리케이션 이름확인(한국어) -> 애플리케이션 실행(한국어)

한국어 설정되 있는 상태














설치할때(한국어) -> 언어설정확인 및 변경(영어) ->애어플리케이션 이름확인(한국어) -> 애플리케이션 실행(영어)

영어로 디바이스의 언어설정을 변경한 상태





디바이스의 언어로 설정되어있던 언어가 한국어였던지라, 나중에 언어설정을 영어로 바꾸더라도 애플리케이션의 이름은 바뀌지 않는군요. 이런 경우 폰을 껐다 켜면, 자신이 설정해 놓은 언어에 맞춰서 적용됩니다.
핸드폰을 껐다켜니 트위터까지 이름이 바뀌어 있는것을 볼 수 있습니다.


Posted by croute

댓글을 달아 주세요