본문 바로가기
개발/iOS

iOS 프로그래밍 지역화 적용하는 방법 (iOS Localization)

by 비손 2012. 6. 15.

iOS 프로그래밍을 할 때 문자열을 지역화 하는 방법을 알려드리고자 합니다!!


지역화란?

영어로 설정된 아이폰에서는 영어로 보이고, 한글로 설정된 아이폰에서는 한글로 보이는 것을 말하는 거구요~

예를들면, 'Cancel' 이라는 버튼을 한국어로 설정된 아이폰에서는 '취소'로 보이게 하는 것이죠~

가장 기본적인 설정 방법만 알려드리도록 할게요~


Xcode 는 4.3.3 버전입니다.


1. 설명을 쉽게 하기 위해서 테스트용 프로젝트를 하나 만들었습니다.

그리고 뷰의 한 가운데에 레이블(Label)을 하나 넣었어요~


2. 그리고 'label'이라는 변수를 만들어서 뷰에있는 UILabel과 연결시키고 뷰가 로드될 때 텍스트를 바꾸도록 코드를 넣었습니다.

label.text = NSLocalizedString(@"keytext", @"it's for test");

 


여기서 'it's for test' 라고 적힌 부분은 그냥 코멘트입니다. 주석 같은 녀석이죠~

중요한 문자열은 바로 'keytext' 라고 적힌 부분입니다. (한글도 됩니다만 기본 글귀니까 영어로 해 두었죠~)

그 뒤에 실행을 해 보면 그냥 'keytext'라는 글자가 나타납니다.


3. 이제 지역화를 위한 문자열 파일을 만들어 볼게요~

Supporting Files 라는 그룹에서 오른쪽 클릭, 'New File'을 선택한 후에 'Strings File'을 찾아 생성합니다.

이 때 파일명은 'Localizable.strings' 로 입력하세요~


4. 거의 끝나갑니다.

생성한 'Localizable.strings' 파일을 선택한 후 'Utilities(화면의 오른쪽 부분)'를 보면 Localization 이라 적힌 부분이 보일거예요~ 바로 밑의 이미지에 빨간줄 그어놓은 부분!!

거기서 '+' 버튼을 눌러서 English와 Korean을 추가합니다.

여기서 선택한 지역화 개수 만큼 왼쪽의 Localizable.strings 의 개수가 늘어나요~ 파일 하나가 하나의 지역을 담당합니다.



5. 지금부터 아까 'keytext'라고 적힌 문자열을 이제 대체 할 거예요~

아래 이미지를 볼 때, 왼쪽 파일이 'English'고 오른쪽이 'Korean'입니다. key-value 페어를 아래와 같은 형식으로 적어주면 돼요~

여기서 참고할만한 사항이 있다면, 여기서 문자열을 등록하지 않으면 원래 문구가 뜹니다. 'keytext'라고 적은거요~

즉, 영어권을 기준으로 해서 앱을 제작한다면 Localizable.strings (English) 파일은 편집할 필요가 없겠죠??

해당 영단어에 대한 한국어만 세팅해 주면 되니까요~


6. 저렇게 세팅하고 실행시키면, 언어가 영어 일때는 왼쪽처럼, 한국어일 때는 오른쪽처럼 표시된답니다 ^^