Android/App개발2010. 12. 18. 23:45


안드로이드 Strings 리소스로 format string작업을 하고자 할경우가 있다.


한국어와 영어로 '나는 안드로이드이다'를 resource로 처리하고자 할 경우를 예를 들면..


한국어 = '나는 android 이다'

영어 = 'I am an android'


가 된다...

이를 다국어 작업을 하기 위해서는 C code의 printf의 입력문처럼 아래와 같이 처리하고자 할것이다.


한국어 printf("나는 %s 이다", "android")

영어 printf("I am an %s", "android")


위와 같이 하기 위해서는 


1. strings.xml에resources태그에  xmlns:xliff 속성을 아래와 같이 추가하고...


<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">


2. string item을 아래의 형식으로 정의한다.

한국어 <string name="im_android">"나는 <xliff:g id="NAME">%s</xliff:g> 이다."</string>

영어 <string name="im_android">"I am an <xliff:g id="NAME">%s</xliff:g>"</string>


3. 코드상에서는 getString(..)함수를 사용해서 다국어처리가 된 문자열을 얻을 수 있다.

getString(R.string.im_android, "android");



Posted by 삼스