swift로 다국어를 사용하는 방법.
1. 아래의 화면처럼 프로젝트를 선택하고 Info 탭 안의 localizations 부분에 언어를 추가한다.
(English 가 기본으로 되어있어 korean을 추가하였다.)
한국어를 추가하고 나면 기본적으로 만들어진 Main.storyboard 파일 하위에 Main.strings(Korean) 이라는 파일이 만들어지며
파일 안에는
/* Class = "UIButton"; normalTitle = "Button"; ObjectID = "95Z-0t-cRz"; */
"95Z-0t-cRz.normalTitle" = "button";
/* Class = "UILabel"; text = "Label"; ObjectID = "zw3-Ke-qxS"; */
"zw3-Ke-qxS.text" = "label";
위와 같은 코드가 자동으로 작성되는데 이는 기존에 만들어진 label과 button 등의 UI 컴포넌트들의 Object ID 값에 매핑되는 이름들이다.
위의 button, label 텍스트를 원하는 한국어로 바꾸어 작성하면 된다.
스토리보드 파일에 UI컴포넌트들이 하나도 없다면 이 파일은 빈 파일로 생성될 것이다.
또한 Main.storyboard 파일을 클릭하고 file inspector 를 보면 Localization 이라는 메뉴가 있는데 여기서 언어를 추가하거나 지울 수 있다.
2. 위 사진의 프로젝트 네비게이터에 보이는 것 처럼 InfoPlist.strings 파일과 Localizable.strings 파일을 만든다. (파일 이름 틀리지 않게 주의)
파일을 생성하고나면 file inspector 탭에서 localization 을 활성화하고 해당 언어를 클릭하면 InfoPlist.strings 와 Localizable.strings 파일의 하위 카테고리에 언어별로 파일들이 나누어 만들어진다.
InfoPlist.strings 파일에는 아래와 같이 작성하면 언어 설정에 따라 앱의 이름이 다르게 표시된다.
(english 파일)
CFBundleDisplayName = "my app";
(korean 파일)
CFBundleDisplayName = "나의 어플";
위와같은 방법으로 localizable.strings 파일도 언어 파일별로 코드를 작성한다.
"text code" = "테스트 코드";
"result code" = "한국어 입니다.";
컨트롤러 파일에서 해당 코드들을 넣을땐
resultLabel.text = NSLocalizedString("result code", comment: "result code...")
위와같은 방법으로 코드를 넣으면 언어가 한국어일때 result code 에 매핑되어있는 "한국어 입니다." 텍스트가 표시된다.
'programming language > swift' 카테고리의 다른 글
ios status bar style 설정하기 in swift (0) | 2016.11.27 |
---|---|
ios 버튼 테두리 주기 및 둥글게 처리하기 in swift (0) | 2016.11.27 |
ios 동적 button , switch 사용하기 in swift (0) | 2016.09.25 |
ios segue 사용하기 in swift (0) | 2016.09.20 |
ios AVAudioRecorder 녹음 사용 in swift (0) | 2016.09.13 |