iOS CoreGraphic


New file > Strings “Localizable.strings” 파일 하나 만들어 준다.

Localizable.strings 선택하고 inspector 에서 [Localize] 클릭하면 기본 English 나타난다.

프로젝트의 info 에 가서 PROJECT에서 Localization 에서 [+] 클릭 후, korean 선택!

Localizable.strings 에 가면 하위에 English, korean 이 있다.

각 파일은 Key = value; 형태로 문자열들을 지정, 작성하면 된다.

출력할 때는


label.text = "Hello"

하면 무조건 Hello 가 표시된다. 로칼라이징된 문자열을 출력하려면…

Localizable.string(English)

"Hello" = "Hello";

Localizable.string(Korean)

"Hello" = "안녕";

위 처럼 작성해놓는다.

그리고, 아래처럼 작성하면 폰에 설정된 언어에 맞춰서 로칼라이즈드 문자열이 출력된다.

label.text = NSLocalizedString("Hello", comment: "")


NSLocalizedString()을 항상 사용하기에 코드 작성이 불편하니까, String 에다 extension 을 만들어두고 사용한다.

extension String {
  var localized: String {
    return NSLocalizedString(self, tableName: "Localizable", value: "**\(self)**", comment: "")
  }
  
  func localized(bundle: Bundle = .main, tableName: String = "Localizable") -> String {
    return NSLocalizedString(self, tableName: tableName, value: "**\(self)**", comment: "")
  }
  
}

// 사용법
"Hello".localized
,

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다