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. 저렇게 세팅하고 실행시키면, 언어가 영어 일때는 왼쪽처럼, 한국어일 때는 오른쪽처럼 표시된답니다 ^^