안드로이드 > strings.xml 파일에 공백 추가하기

strings.xml 파일을 이용하여 문자열을 선언하다 보면 가끔 첫 문자의 시작이나 끝 문자에 ‘  ‘공백이 추가가 필요할 때가 있다. 하지만 위와 같이 ‘ ‘ 공백을 추가하게 되면 컴파일러가 이를 제거 해버린다.

위와 같은 문제를 해결하기 위해 유니코드를 활용하면 문제를 해결할 수 있다.
‘  ‘ >  을 이용하여 처리 할 수 있다.

 참조 자료 :  http://stackoverflow.com/questions/10862975/how-to-put-space-character-into-a-string-name-in-xml

iPhone – 지역화 문자열 뽑아내기 & 지역화 하기

OS X은 맥 개발 시(.m)에서 지역화된 문자열을 뽑아 낼 수 있도록

하나의 명령을 지원합니다.
1. 코드에서 지역화 추출하기
[code]
# genstrings -o example.lproj *.m
[/code]

위와 같이 Console 창에서 입력하게 되면 아래와 같이 Localizable.strings파일을 리턴하게 됩니다.

[code]
"Example" = "예제";
[/code]

Key-Value방식으로 작성되며, UTF-16인크도이 방식으로 지원되도록 되어있습니다.

2. Xib 파일에서 문자열 추출하기

각 언어별 디렉토리를 만듭니다. 한글과 영어라면 ko.lproj와 en.lproj를 만들고 각각의 디렉토리에 xib파일을 복사합니다.

만약 파일이 ExampleController.xib라고 가정하였을 때 아래와 같이 입력 하실 수 있습니다.

[code]
# ibtool –generate-stringsfile ExampleController.strings ExampleController.xib
[/code]

여러개의 파일 일 경우 쉽게 번역하도록 스크립트를 제공합니다.
[code]
#!/bin/bash

FILES="*.xib"

for f in *.xib
do
echo "Processing $f file…"
ibtool –generate-stringsfile ${f%.*}.strings $f
done
[/code]

3. 지역화 하기
InfoPlist.strings 파일 생성합니다.
아래의 속성들은 각 속성에 맞는 로컬라이징을 수행합니다.

[code]
"CFBundleDevelopmentRegion" = "Korean"; // 네이티브 컴포넌트 지역화
"CFBundleDisplayName" = "예제"; // 어플리케이션 이름 지역화
…. 등등
[/code]

[Android] 문자열 리소스 값 가져오기.

getString() 메서드에서 문자열 리소스 아이디를 직접 명시해도 되지만, 컴파일될 때마다 R.java의 내용은 바뀔 수 있으므로 다음과 같은 방법을 이용할 수 있다.

String test = getResources().getString(getResources().getIdentifier("hello", "string", "kr.co.wikibook.c2dm_messenger"));

위의 코드의 getIdentifier() 메서드는 특정 리소스의 리소스 아이디를 가져오는 메서드이다. 그리고, 첫 번째 인자인 hello는 아래와 같은 (문자열)리소스 이름이며 두 번재 인자인 string은 리소스의 종류를 가르킨다. 마지막으로 세 번재 인자는 리소스가 속한 패키지 이름이다.

<?xml version="1.0" encoding="utf-8"?> 
<resources>
<string name="hello">Hello World, C2DMMessengerActivity!</string>
<string name="app_name">C2DM Messenger</string> 
</resources>