본문 바로가기
프로그래밍/iOS

로컬라이징

by 백룡화검 2012. 2. 17.
현재 iPhone을 개발하시는 분들은 대부분 해외 시장을 염두에 두고 개발을 하고 계시리라 생각합니다.
결국, 한국어와 영어를 동시에 지원해야하는 과제가 생기겠죠.
iPhone의 로컬라이징에 대한 정보가 많이 없어서 간략하게 정리해볼까 합니다.

1. xib 로컬라이징
xib는 아시다시피 Interface Builder로 만든 UI 인스턴스 입니다.
xcode에서 로컬라이징할 xib를 선택한후 Get Info를 합니다.
General Tab에서 Make Localization을 클릭하면 기본적으로 English가 만들어집니다.
Korean을 추가하려면 Add Localization을 클릭하여 Korean을 입력하면 생성이 됩니다.
이 순간부터 독립적인 UI가 생기므로 개발이 완료된 후 이 작업을 하시는 것이 좋습니다.
이제는 기존 xib파일이 2개로 나뉘어 있는 것을 보실 수 있는데, 그중 English를 더블클릭하여
Interface Builder로 여신후 Tool - Strings로 변경을 하거나 UI를 직접 편집하여
영어로 변역하여 줍니다. 작업이 완료되면 저장하고 Interface Builder를 종료합니다.
에뮬레이터 또는 디바이스에서 언어를 바꿔보시면서 테스트를 하시면 됩니다.


2. 소스코드에서 메시지의 로컬라이징
파일을 하나 만듭니다. Resources 정도의 그룹에서 하시면 되겠습니다.
Add - New File...을 하신후 Mac OSX 항목에 있는 Other의 Strings File을 이용하여 파일을 생성합니다.
이름은 Localizable.strings 으로 합니다.
xib에서 Make Localization 한 것과 같이 동일하게 English, Korean을 추가합니다.
각각의 파일에 소스코드에서 사용되는 메시지를 입력합니다.
입력방법은 식별할 수 있는 코드와 언어별 메시지를 입력합니다.

"Cancel"   = "취소";

위와 같이 ""를 이용하여 식별코드(식별명칭)과 메시지를 입력하고 줄 마지막에는 ;(세미콜론)을 꼭 붙여줍니다.
이런식으로 입력한후 소스코드에서는 NSLocalizedString(@"Cancel", @"취소 버튼") 이렇게 하면 언어별로 메시지를
구분해서 출력해줄 수 있습니다.
NSLocalizedString()의 두번째 파라미터는 소스코드상에 확인을 위한 것일 뿐 전혀 영향을 미치지 않으니
한글로 적절히 그 메시지의 역할을 적어주면 가독성이 떨어지지 않으면서 로컬라이징을 할 수 있으리라 봅니다.


3. App 아이콘 아래의 App 제목의 로컬라이징
에뮬레이터 또는 디바이스에 App을 설치하면 아이콘과함께 App 제목이 출력되는데,
이것도 로컬라이징이 가능합니다.

역시 Resources 그룹에서 Add - New File...을 하신후 2에서 하신 것처럼 Strings File을 하나 만듭니다.
이름은 InfoPlist.strings 입니다. 만드신후

 "CFBundleDisplayName" = "내 프로그램";

와 같이 등록합니다. 물론, English 파일에는 영어권에 맞게 변역해주면 됩니다.
빌드하면 App 이름이 언어설정에 따라 자동으로 맞게 출력되실 것입니다.

'프로그래밍 > iOS' 카테고리의 다른 글

localize  (0) 2012.02.17
Advance Localization in ios apps  (0) 2012.02.17
문자열 지역화  (0) 2012.02.17
Localizing iPhone Apps – Internationalization  (0) 2012.02.17
NSDate / NSDateFormatter date  (1) 2012.02.15