안드로이드 개발 정보
(글 수 1,067)
안드로이드 앱의 소스트리에서 문자열은;
res/values/strings.xml에 기본 영문 문자열이 있고,
res/values-ko/strings.xml에 한글 문자열을 -없으면 만들어서- 넣어주면 됩니다.
strings.xml상태에서 텍스트에디터로 편집하는건 별로 유쾌하지 않은데요, (이클립스로 하는건 더 심해! 으잌!!)
ko.po로 변환하는 팁을 소개합니다.
ko.po로 변환하면, poedit의 자동 번역과 ko-po-check의 한글 번역 검사를 수행할 수 있기 때문에,
훨씬 수월하게 완성도 높은 번역물을 뽑아낼 수 있습니다.
res 폴더에서 이러면;
$ xml2po -o ko.po values/strings.xml
빈 ko.po가 생기고,
이걸 번역해서 이러면;
$ xml2po -p ko.po -o values-ko/strings.xml values/strings.xml
한글 strings.xml 파일로 변환됩니다.
같은 내용으로 개인 블로그에도 올려 두었습니다. :)

the suapapa.
2010.09.16 09:48:21

<meta http-equiv="content-type" content="text/html; charset=utf-8">원래 ko.po는 소스에서 자동으로 추출한 messege.pot 파일(영문만 담겨 있음)을 ko.po로 복사해서 빈 번역 부분을 채워 줍니다.
ko.po 에서는 -따로 문자열에 키가 있는게 아니라- 영문 문자열을 해시키로 쓰기 때문에, xml2po로 string.xml로 다시 변환하는 과정을 보면 ko.po 뿐 아니라, 본래의 영문 문자열을 담은 strings.xml도 참고하는 것을 볼 수 있습니다.
소스의 영문이 변경된 경우 message.pot이 갱신된 경우 ko.po로 적용할 때 새로 추가된 영문이 기존과 비슷한 경우 똑똑하게(비슷한 번역으로 채워주고 fuzzy상태로 마크) 처리해 줍니다.
values/strings.xml이 갱신된 경우 xml2po의 -u 옵션을 사용해 기존의 ko.po를 같은 똑똑한 방법으로 갱신할 수 있습니다.
영문 문자열 하고 한글 문자열이 쌍으로 들어있는 링크가 나오던데요.
문자열 비교해서 대치하는 것인가요?
그럼, 문장 조금 틀리면 어떻게 되나요?