안드로이드 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");