Dev-iOS/SwiftUI

하위 뷰에 Localizable.xcstring 적용하기

lafortune 2024. 5. 28. 10:14
반응형

 

struct MyView:View {
	....
	ZStack {
    	.....

    	CardView(icon: "cup.and.saucer", title: "donation")
	}
}

struct CardView: View {
    var icon: String
    var title: String
    
    var body: some View {
        HStack {
			....
            
            Text(title)
                .font(.headline)
        }
    }
}

 

 

위 의 코드처럼 사용하면 Localizable.xcstring에는 donation key를 추가하더라도 다국어가 정상적으로 적용이 되지 않는다.

 

Localizable.xcstring가 적용되는 타입은 String이 아니라 LocalizedStringKey 타입이기 때문이다. 따라서 아래와 같이 사용해야 한다.

 

struct MyView:View {
	....
	ZStack {
    	.....

    	CardView(icon: "cup.and.saucer", title: "donation")
	}
}

struct CardView: View {
    var icon: String
    var title: LocalizedStringKey   // String이 아닌 LocalizedStringKey 사용
    
    var body: some View {
        HStack {
			....
            
            Text(title)
                .font(.headline)
        }
    }
}

 

반응형