관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - SwiftUI] LocalizedStringKey, Localization 지역화 방법 본문

iOS 기본 (SwiftUI)

[iOS - SwiftUI] LocalizedStringKey, Localization 지역화 방법

jake-kim 2022. 11. 4. 23:45

목차) SwiftUI의 기본 - 목차 링크

지역화

  • 기존에 Swift에서 지역화 처리 방법
    • Localizable.strings 파일을 만든 후 (key-value) 로 스트링 값을 입력
    • NSLocalizedKey를 사용하고 위 key에 접근하여 사용
UILabel(string: NSLocalizedString(key: "myKey"))
  • SwiftUI에서 지역화 처리 방법
    • Localizable.strings 파일을 만든 후 (key-value)로 스트링 값을 입력
    • .environment(_:_:)을 이용하여 지역화
.environment(\.locale, .init(identifier: "en"))

Localization 파일 준비 

  • Localized.strings 파일 생성
    • String File 선택

  • Localizable.strings 이름으로하고 저장

  • Localize... 버튼 클릭

  • Project > Info > Localization 옵션에서 다른 언어들을 추가
    • 현재 Base, English만 있지만 + 버튼을 눌러서 korean도 추가

  • Localizable 하위에 Korean도 추가된 것을 확인

  • English, Korean에 각각 key - value 문자열값 정의
"confirm" = "confirm";
"confirm" = "확인";

Localizable 적용

  • .environment(\.locale, .init(identifier:)) 사용하여 적용
struct ContentView: View {
  var body: some View {
    Text("confirm")
      .environment(\.locale, .init(identifier: "en"))
  }
}

 

* 전체 코드: https://github.com/JK0369/ExLocalization-SwiftUI

Comments