iOS 기본 (SwiftUI)
[iOS - SwiftUI] LocalizedStringKey, Localization 지역화 방법
jake-kim
2022. 11. 4. 23:45
지역화
- 기존에 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"))
}
}