Posted on 11월 3, 2008 at 5:27 오후

응용프로그램 이름 로컬라이제이션 하기


Mac OS X 자체가 단 하나의 배포판으로 전세계의 언어를 지원하고 있는 만큼, 맥 개발자들도 자신의 프로그램이 다국어를 지원하도록 하는 것이 중요합니다.

물론, 쉽고 편하게 로컬라이제이션 할 수 있도록 여러 기법들을 제공하고 있는데, 로컬라이제이션 전반에 대한 내용은 분량이 많으므로, 이번 글에서는 다루지 않도록 하겠습니다.

애플의 개발자 문서 레퍼런스의 “International Programming Topics“에서 응용프로그램 로컬라이제이션 뿐만 아니라, 다국어 지원을 위한 전반적인 디자인 가이드, 지역 설정, 스트링 파일, 파일 인코딩과 폰트등 다양한 주제에 대해 잘 설명하고 있습니다. 로컬라이제이션과 다국어 지원에 대해 상세히 알고 싶은 분은 위의 문서를 한번 읽어보는 것을 추천합니다. (위 문서에는 이 글에서 설명하는 내용도 포함되어 있습니다.)

자, 다시 원래 주제로 돌아가서 응용프로그램 이름을 로컬라이제이션하는 방법을 알아보도록 합시다.

단 두 파일만 수정해주면 응용프로그램이름을 바로 로컬라이제이션 해줄 수 있습니다. 먼저 프로그램 전반에 대한 설정이 담기는 Info.plist에 LSHasLocalizedDisplayName 키를 추가하고 체크박스에 체크를 해줍니다. 이 키를 추가하면 XCode에서는 자동으로 Application has localized display name 라는 키로 생성이 됩니다.

Info.plist 추가

그 다음에는 각 언어 별로 로컬라이즈된 Info.plist인 InfoPlist.strings 파일에 다음 두 키를 알맞게 추가해주면 됩니다.

CFBundleName = "메뉴바에 뜨는 응용프로그램 이름";
CFBundleDisplayName = "Finder와 Dock에 나타나는 응용프로그램 이름";

InfoPlist.strings

이제 끝입니다. 사용자가 환경설정(System Preferences)에서 언어 순서를 바꿔주면 파인더와 독, 그리고 메뉴바의 프로그램 이름이 변경되게 됩니다. 물론 재 로그인이나, 해당 프로그램을 재시작해야 언어 변경이 적용됩니다.

응용프로그램 이름을 로컬라이제이션 하는 이유는 크게 두 가지를 들 수 있습니다.

첫 번째 이유는 로컬라이제이션 그 자체입니다. 애플이 제공하는 프로그램들을 보면 사용자의 언어 설정에 따라 이름이 다르게 나오는 것을 볼 수 있습니다. 예를 들면 “Calculator” 프로그램이 한글 상위에서는 “계산기” 라고 로컬라이제이션 되어 표시됩니다.

이렇게 프로그램 이름이 사용자가 선택한 언어로 나타나면 사용자의 만족도가 더 올라갈 것입니다. 물론, 각각의 언어별로 프로그램을 배포할 수 있겠지만 이 방법은 그닥 아름답다고 할 수 없겠죠.

두 번째 이유는 프로그램 이름을 직접 로컬라이제이션한 경우에 발생하는 문제점을 예방하기 위해서 입니다. 프로그램 이름을 직접 로컬라이제이션한 경우, 번들 경로나 리소스 경로를 얻어올 때 인코딩 문제가 발생할 수 있습니다.

위의 방법을 사용해서 응용프로그램 이름을 로컬라이제이션하면, 사용자들에게 좀더 좋은 경험을 제공할 수 있겠죠??

Tags:,

Leave a Reply