feat(i18n): 라이브 모듈 하드코딩 문구를 I18n 키로 통일한다
This commit is contained in:
@@ -55,7 +55,7 @@ struct LiveReservationAllItemView: View {
|
||||
Spacer()
|
||||
|
||||
if item.isReservation {
|
||||
Text("예약완료")
|
||||
Text(I18n.LiveReservation.Item.reservationCompleted)
|
||||
.appFont(size: 11.3, weight: .medium)
|
||||
.foregroundColor(Color(hex: "d2d2d2"))
|
||||
.padding(.horizontal, 7)
|
||||
@@ -63,7 +63,7 @@ struct LiveReservationAllItemView: View {
|
||||
.background(Color(hex: "533d89"))
|
||||
.cornerRadius(10)
|
||||
} else {
|
||||
Text(item.price > 0 ? "\(item.price)캔" : "무료")
|
||||
Text(item.price > 0 ? I18n.LiveReservation.Item.priceWithCan(item.price) : I18n.LiveReservation.Item.free)
|
||||
.appFont(size: 12, weight: .medium)
|
||||
.foregroundColor(Color(hex: "e2e2e2").opacity(0.49))
|
||||
.padding(.bottom, 6.7)
|
||||
|
||||
@@ -21,7 +21,7 @@ struct LiveReservationAllView: View {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
GeometryReader { proxy in
|
||||
VStack(spacing: 0) {
|
||||
DetailNavigationBar(title: "라이브, 예약 캘린더")
|
||||
DetailNavigationBar(title: I18n.LiveReservation.All.title)
|
||||
|
||||
WeekCalendarView { date in
|
||||
viewModel.selectedDateString = date
|
||||
@@ -57,7 +57,7 @@ struct LiveReservationAllView: View {
|
||||
.resizable()
|
||||
.frame(width: 60, height: 60)
|
||||
|
||||
Text("지금 예약중인 라이브가 없습니다.\n다른 날짜의 라이브를 예약하고 참여해 보세요.")
|
||||
Text(I18n.LiveReservation.All.emptyStateMessage)
|
||||
.appFont(size: 13, weight: .medium)
|
||||
.foregroundColor(Color(hex: "bbbbbb"))
|
||||
.multilineTextAlignment(.center)
|
||||
|
||||
@@ -14,13 +14,13 @@ struct LiveReservationCompleteView: View {
|
||||
var body: some View {
|
||||
BaseView {
|
||||
VStack(spacing: 0) {
|
||||
DetailNavigationBar(title: "라이브 예약 완료") {
|
||||
DetailNavigationBar(title: I18n.LiveReservation.Complete.title) {
|
||||
AppState.shared.setAppStep(step: .main)
|
||||
}
|
||||
|
||||
ScrollView(.vertical, showsIndicators: false) {
|
||||
VStack(spacing: 0) {
|
||||
Text("예약이 완료되었습니다.")
|
||||
Text(I18n.LiveReservation.Complete.completedMessage)
|
||||
.appFont(size: 20, weight: .bold)
|
||||
.foregroundColor(Color(hex: "a285eb"))
|
||||
.frame(width: screenSize().width - 26.7, alignment: .leading)
|
||||
@@ -33,14 +33,14 @@ struct LiveReservationCompleteView: View {
|
||||
.padding(.top, 16.7)
|
||||
.padding(.bottom, 26.7)
|
||||
|
||||
Text("라이브 예약정보")
|
||||
Text(I18n.LiveReservation.Complete.reservationInfoTitle)
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.frame(width: screenSize().width - 53.4, alignment: .leading)
|
||||
|
||||
VStack(spacing: 6.7) {
|
||||
HStack(spacing: 26.7) {
|
||||
Text("채널")
|
||||
Text(I18n.LiveReservation.Complete.channelLabel)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color(hex: "777777"))
|
||||
|
||||
@@ -51,7 +51,7 @@ struct LiveReservationCompleteView: View {
|
||||
.frame(width: screenSize().width - 53.4, alignment: .leading)
|
||||
|
||||
HStack(spacing: 26.7) {
|
||||
Text("구매내역")
|
||||
Text(I18n.LiveReservation.Complete.purchaseDetailLabel)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color(hex: "777777"))
|
||||
|
||||
@@ -62,7 +62,7 @@ struct LiveReservationCompleteView: View {
|
||||
.frame(width: screenSize().width - 53.4, alignment: .leading)
|
||||
|
||||
HStack(spacing: 26.7) {
|
||||
Text("예약일자")
|
||||
Text(I18n.LiveReservation.Complete.reservationDateLabel)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color(hex: "777777"))
|
||||
|
||||
@@ -77,7 +77,7 @@ struct LiveReservationCompleteView: View {
|
||||
.frame(width: screenSize().width - 53.4, alignment: .leading)
|
||||
|
||||
HStack(spacing: 26.7) {
|
||||
Text("라이브 비용")
|
||||
Text(I18n.LiveReservation.Complete.liveCostLabel)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color(hex: "777777"))
|
||||
|
||||
@@ -94,14 +94,14 @@ struct LiveReservationCompleteView: View {
|
||||
.foregroundColor(Color(hex: "232323"))
|
||||
.padding(.vertical, 20)
|
||||
|
||||
Text("결제정보")
|
||||
Text(I18n.LiveReservation.Complete.paymentInfoTitle)
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.frame(width: screenSize().width - 53.4, alignment: .leading)
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
HStack(spacing: 0) {
|
||||
Text("보유캔")
|
||||
Text(I18n.LiveReservation.Complete.ownedCanLabel)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color(hex: "777777"))
|
||||
|
||||
@@ -111,14 +111,14 @@ struct LiveReservationCompleteView: View {
|
||||
.appFont(size: 15.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Text(" 캔")
|
||||
Text(I18n.LiveReservation.Complete.canSuffix)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
}
|
||||
.frame(width: screenSize().width - 53.4, alignment: .leading)
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("결제캔")
|
||||
Text(I18n.LiveReservation.Complete.paymentCanLabel)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color(hex: "777777"))
|
||||
|
||||
@@ -128,14 +128,14 @@ struct LiveReservationCompleteView: View {
|
||||
.appFont(size: 15.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Text(" 캔")
|
||||
Text(I18n.LiveReservation.Complete.canSuffix)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
}
|
||||
.frame(width: screenSize().width - 53.4, alignment: .leading)
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("잔여캔")
|
||||
Text(I18n.LiveReservation.Complete.remainingCanLabel)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color(hex: "777777"))
|
||||
|
||||
@@ -145,7 +145,7 @@ struct LiveReservationCompleteView: View {
|
||||
.appFont(size: 15.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Text(" 캔")
|
||||
Text(I18n.LiveReservation.Complete.canSuffix)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
}
|
||||
@@ -154,7 +154,7 @@ struct LiveReservationCompleteView: View {
|
||||
.padding(.top, 20)
|
||||
|
||||
HStack(spacing: 13.3) {
|
||||
Text("홈으로 이동")
|
||||
Text(I18n.LiveReservation.Complete.goHome)
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "9970ff"))
|
||||
.padding(.vertical, 16)
|
||||
@@ -170,7 +170,7 @@ struct LiveReservationCompleteView: View {
|
||||
AppState.shared.setAppStep(step: .main)
|
||||
}
|
||||
|
||||
Text("예약 내역 이동")
|
||||
Text(I18n.LiveReservation.Complete.goReservationList)
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.padding(.vertical, 16)
|
||||
|
||||
@@ -67,7 +67,7 @@ struct LiveReservationItemView: View {
|
||||
|
||||
VStack(alignment: .trailing, spacing: 8) {
|
||||
VStack(spacing: 0) {
|
||||
Text("\(dateDic["month"] ?? "")월")
|
||||
Text(I18n.LiveReservation.Item.month(dateDic["month"] ?? ""))
|
||||
.appFont(size: 14, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.padding(.vertical, 6)
|
||||
@@ -100,7 +100,7 @@ struct LiveReservationItemView: View {
|
||||
.background(Color(hex: "3b5ff1"))
|
||||
.cornerRadius(4)
|
||||
} else {
|
||||
Text("무료")
|
||||
Text(I18n.LiveReservation.Item.free)
|
||||
.appFont(size: 14, weight: .regular)
|
||||
.foregroundColor(Color(hex: "#263238"))
|
||||
.padding(4)
|
||||
|
||||
@@ -21,7 +21,7 @@ struct MyLiveReservationItemView: View {
|
||||
HStack(spacing: 8) {
|
||||
Image("ic_mic_colored")
|
||||
|
||||
Text("내가 개설한 라이브")
|
||||
Text(I18n.LiveReservation.Item.ownCreatedLive)
|
||||
.appFont(size: 18, weight: .bold)
|
||||
.foregroundColor(Color(hex: "80D8FF"))
|
||||
}
|
||||
@@ -79,7 +79,7 @@ struct MyLiveReservationItemView: View {
|
||||
|
||||
VStack(alignment: .trailing, spacing: 8) {
|
||||
VStack(spacing: 4) {
|
||||
Text("\(dateDic["month"] ?? "")월")
|
||||
Text(I18n.LiveReservation.Item.month(dateDic["month"] ?? ""))
|
||||
.appFont(size: 14, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.padding(.vertical, 6)
|
||||
@@ -112,7 +112,7 @@ struct MyLiveReservationItemView: View {
|
||||
.background(Color(hex: "3b5ff1"))
|
||||
.cornerRadius(4)
|
||||
} else {
|
||||
Text("무료")
|
||||
Text(I18n.LiveReservation.Item.free)
|
||||
.appFont(size: 14, weight: .regular)
|
||||
.foregroundColor(Color(hex: "#263238"))
|
||||
.padding(4)
|
||||
|
||||
@@ -20,14 +20,14 @@ struct SectionLiveReservationView: View {
|
||||
var body: some View {
|
||||
VStack(spacing: 13.3) {
|
||||
HStack(spacing: 0) {
|
||||
Text("라이브 예약중")
|
||||
Text(I18n.LiveReservation.Section.title)
|
||||
.appFont(size: 24, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
|
||||
Spacer()
|
||||
|
||||
if items.count > 0 {
|
||||
Text("전체보기")
|
||||
Text(I18n.Common.viewAll)
|
||||
.appFont(size: 14, weight: .regular)
|
||||
.foregroundColor(Color(hex: "78909C"))
|
||||
.onTapGesture {
|
||||
@@ -101,7 +101,7 @@ struct SectionLiveReservationView: View {
|
||||
.resizable()
|
||||
.frame(width: 60, height: 60)
|
||||
|
||||
Text("지금 예약중인 라이브가 없습니다.\n채널을 팔로잉 하고 라이브 알림을 받아 보세요.")
|
||||
Text(I18n.LiveReservation.Section.emptyStateMessage)
|
||||
.appFont(size: 13, weight: .medium)
|
||||
.foregroundColor(Color(hex: "bbbbbb"))
|
||||
.fixedSize(horizontal: false, vertical: true)
|
||||
|
||||
Reference in New Issue
Block a user