feat(i18n): 콘텐츠 모듈 그룹1 하드코딩 문구를 I18n 키로 통일한다
This commit is contained in:
@@ -22,7 +22,7 @@ struct ContentAllByThemeView: View {
|
||||
HStack(spacing: 13.3) {
|
||||
Spacer()
|
||||
|
||||
Text("최신순")
|
||||
Text(I18n.Content.Sort.newest)
|
||||
.appFont(size: 13.3, weight: .medium)
|
||||
.foregroundColor(
|
||||
Color(hex: "e2e2e2")
|
||||
@@ -34,7 +34,7 @@ struct ContentAllByThemeView: View {
|
||||
}
|
||||
}
|
||||
|
||||
Text("높은 가격순")
|
||||
Text(I18n.Content.Sort.priceHigh)
|
||||
.appFont(size: 13.3, weight: .medium)
|
||||
.foregroundColor(
|
||||
Color(hex: "e2e2e2")
|
||||
@@ -46,7 +46,7 @@ struct ContentAllByThemeView: View {
|
||||
}
|
||||
}
|
||||
|
||||
Text("낮은 가격순")
|
||||
Text(I18n.Content.Sort.priceLow)
|
||||
.appFont(size: 13.3, weight: .medium)
|
||||
.foregroundColor(
|
||||
Color(hex: "e2e2e2")
|
||||
@@ -64,7 +64,7 @@ struct ContentAllByThemeView: View {
|
||||
.padding(.top, 13.3)
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("전체")
|
||||
Text(I18n.Content.Count.totalPrefix)
|
||||
.appFont(size: 13.3, weight: .medium)
|
||||
.foregroundColor(Color(hex: "e2e2e2"))
|
||||
|
||||
@@ -73,7 +73,7 @@ struct ContentAllByThemeView: View {
|
||||
.foregroundColor(Color(hex: "ff5c49"))
|
||||
.padding(.leading, 8)
|
||||
|
||||
Text("개")
|
||||
Text(I18n.Content.Count.countUnit)
|
||||
.appFont(size: 13.3, weight: .medium)
|
||||
.foregroundColor(Color(hex: "e2e2e2"))
|
||||
.padding(.leading, 2)
|
||||
|
||||
@@ -78,13 +78,13 @@ final class ContentAllByThemeViewModel: ObservableObject {
|
||||
if let message = decoded.message {
|
||||
self.errorMessage = message
|
||||
} else {
|
||||
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
|
||||
self.errorMessage = I18n.Common.commonError
|
||||
}
|
||||
|
||||
self.isShowPopup = true
|
||||
}
|
||||
} catch {
|
||||
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
|
||||
self.errorMessage = I18n.Common.commonError
|
||||
self.isShowPopup = true
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,11 @@ struct ContentAllView: View {
|
||||
Group {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
VStack(spacing: 0) {
|
||||
DetailNavigationBar(title: isFree ? String(localized: "무료 콘텐츠 전체") : isPointAvailableOnly ? String(localized: "포인트 대여 전체") : String(localized: "콘텐츠 전체"))
|
||||
DetailNavigationBar(
|
||||
title: isFree ?
|
||||
I18n.Content.All.freeTitle :
|
||||
isPointAvailableOnly ? I18n.Content.All.pointRentalTitle : I18n.Content.All.title
|
||||
)
|
||||
|
||||
if !viewModel.themeList.isEmpty {
|
||||
ContentMainContentThemeView(
|
||||
@@ -32,7 +36,7 @@ struct ContentAllView: View {
|
||||
HStack(spacing: 12) {
|
||||
Spacer()
|
||||
|
||||
Text("최신순")
|
||||
Text(I18n.Content.Sort.newest)
|
||||
.appFont(size: 16, weight: .medium)
|
||||
.foregroundColor(
|
||||
Color(hex: "e2e2e2")
|
||||
@@ -44,7 +48,7 @@ struct ContentAllView: View {
|
||||
}
|
||||
}
|
||||
|
||||
Text("인기순")
|
||||
Text(I18n.Content.Sort.popularity)
|
||||
.appFont(size: 16, weight: .medium)
|
||||
.foregroundColor(
|
||||
Color(hex: "e2e2e2")
|
||||
|
||||
@@ -41,7 +41,7 @@ struct ContentNewAllItemView: View {
|
||||
.appFont(size: 8.5, weight: .medium)
|
||||
.foregroundColor(Color.white)
|
||||
} else {
|
||||
Text("무료")
|
||||
Text(I18n.CreateContent.free)
|
||||
.appFont(size: 8.5, weight: .medium)
|
||||
.foregroundColor(Color.white)
|
||||
}
|
||||
|
||||
@@ -18,9 +18,9 @@ struct ContentNewAllView: View {
|
||||
Group {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
DetailNavigationBar(title: isFree ? "최신 무료 콘텐츠" : "최신 콘텐츠")
|
||||
DetailNavigationBar(title: isFree ? I18n.Content.New.freeTitle : I18n.Content.New.title)
|
||||
|
||||
Text("※ 최근 2주간 등록된 새로운 콘텐츠 입니다.")
|
||||
Text(I18n.Content.New.recentTwoWeeksNotice)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(.graybb)
|
||||
.padding(.horizontal, 13.3)
|
||||
@@ -37,7 +37,7 @@ struct ContentNewAllView: View {
|
||||
)
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("전체")
|
||||
Text(I18n.Content.Count.totalPrefix)
|
||||
.appFont(size: 13.3, weight: .medium)
|
||||
.foregroundColor(Color(hex: "e2e2e2"))
|
||||
|
||||
@@ -46,7 +46,7 @@ struct ContentNewAllView: View {
|
||||
.foregroundColor(Color(hex: "ff5c49"))
|
||||
.padding(.leading, 8)
|
||||
|
||||
Text("개")
|
||||
Text(I18n.Content.Count.countUnit)
|
||||
.appFont(size: 13.3, weight: .medium)
|
||||
.foregroundColor(Color(hex: "e2e2e2"))
|
||||
.padding(.leading, 2)
|
||||
|
||||
@@ -17,14 +17,14 @@ struct ContentRankingAllView: View {
|
||||
Group {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
VStack(spacing: 0) {
|
||||
DetailNavigationBar(title: "인기 콘텐츠")
|
||||
DetailNavigationBar(title: I18n.Content.Ranking.title)
|
||||
|
||||
VStack(spacing: 8) {
|
||||
Text("\(viewModel.dateString)")
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Text("※ 인기 콘텐츠의 순위는 매주 업데이트됩니다.")
|
||||
Text(I18n.Content.Ranking.weeklyUpdateNotice)
|
||||
.appFont(size: 13.3, weight: .light)
|
||||
.foregroundColor(Color(hex: "bbbbbb"))
|
||||
}
|
||||
@@ -82,7 +82,7 @@ struct ContentRankingAllView: View {
|
||||
.cornerRadius(2.6)
|
||||
|
||||
if item.isPointAvailable {
|
||||
Text("포인트")
|
||||
Text(I18n.Common.points)
|
||||
.appFont(size: 8, weight: .medium)
|
||||
.foregroundColor(.white)
|
||||
.padding(2.6)
|
||||
@@ -116,7 +116,7 @@ struct ContentRankingAllView: View {
|
||||
.foregroundColor(Color(hex: "909090"))
|
||||
}
|
||||
} else {
|
||||
Text("무료")
|
||||
Text(I18n.CreateContent.free)
|
||||
.appFont(size: 12, weight: .medium)
|
||||
.foregroundColor(Color(hex: "ffffff"))
|
||||
.padding(.horizontal, 5.3)
|
||||
|
||||
@@ -71,13 +71,13 @@ final class ContentRankingAllViewModel: ObservableObject {
|
||||
if let message = decoded.message {
|
||||
self.errorMessage = message
|
||||
} else {
|
||||
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
|
||||
self.errorMessage = I18n.Common.commonError
|
||||
}
|
||||
|
||||
self.isShowPopup = true
|
||||
}
|
||||
} catch {
|
||||
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
|
||||
self.errorMessage = I18n.Common.commonError
|
||||
self.isShowPopup = true
|
||||
self.isLoading = false
|
||||
}
|
||||
@@ -109,13 +109,13 @@ final class ContentRankingAllViewModel: ObservableObject {
|
||||
if let message = decoded.message {
|
||||
self.errorMessage = message
|
||||
} else {
|
||||
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
|
||||
self.errorMessage = I18n.Common.commonError
|
||||
}
|
||||
|
||||
self.isShowPopup = true
|
||||
}
|
||||
} catch {
|
||||
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
|
||||
self.errorMessage = I18n.Common.commonError
|
||||
self.isShowPopup = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,11 +49,11 @@ struct ContentListCategoryView: View {
|
||||
|
||||
ContentListCategoryView(
|
||||
categoryList: [
|
||||
GetCategoryListResponse(categoryId: 0, category: "전체"),
|
||||
GetCategoryListResponse(categoryId: 0, category: I18n.Category.all),
|
||||
GetCategoryListResponse(categoryId: 1, category: "test"),
|
||||
GetCategoryListResponse(categoryId: 0, category: "test2")
|
||||
],
|
||||
selectCategory: { _ in },
|
||||
selectedCategory: .constant("전체")
|
||||
selectedCategory: .constant(I18n.Category.all)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ struct ContentListItemView: View {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
HStack(spacing: 8) {
|
||||
if item.isScheduledToOpen {
|
||||
Text("오픈예정")
|
||||
Text(I18n.Common.openScheduled)
|
||||
.appFont(size: 11, weight: .medium)
|
||||
.foregroundColor(Color(hex: "3bb9f1"))
|
||||
.padding(2.6)
|
||||
@@ -52,7 +52,7 @@ struct ContentListItemView: View {
|
||||
.cornerRadius(2.6)
|
||||
|
||||
if item.isPointAvailable {
|
||||
Text("포인트")
|
||||
Text(I18n.Common.points)
|
||||
.appFont(size: 11, weight: .medium)
|
||||
.foregroundColor(.white)
|
||||
.padding(2.6)
|
||||
@@ -98,7 +98,7 @@ struct ContentListItemView: View {
|
||||
Spacer()
|
||||
|
||||
if item.isOwned {
|
||||
Text("소장중")
|
||||
Text(I18n.Content.Status.owned)
|
||||
.appFont(size: 14, weight: .medium)
|
||||
.foregroundColor(Color.gray11)
|
||||
.padding(.horizontal, 5.3)
|
||||
@@ -106,7 +106,7 @@ struct ContentListItemView: View {
|
||||
.background(Color(hex: "b1ef2c"))
|
||||
.cornerRadius(2.6)
|
||||
} else if item.isRented {
|
||||
Text("대여중")
|
||||
Text(I18n.Content.Status.rented)
|
||||
.appFont(size: 14, weight: .medium)
|
||||
.foregroundColor(Color.white)
|
||||
.padding(.horizontal, 5.3)
|
||||
@@ -114,7 +114,7 @@ struct ContentListItemView: View {
|
||||
.background(Color(hex: "660fd4"))
|
||||
.cornerRadius(2.6)
|
||||
} else if item.isSoldOut {
|
||||
Text("Sold Out")
|
||||
Text(I18n.Content.Status.soldOut)
|
||||
.appFont(size: 14, weight: .medium)
|
||||
.foregroundColor(Color.grayd2)
|
||||
.padding(.horizontal, 5.3)
|
||||
@@ -135,7 +135,7 @@ struct ContentListItemView: View {
|
||||
.foregroundColor(.white)
|
||||
}
|
||||
} else {
|
||||
Text("무료")
|
||||
Text(I18n.CreateContent.free)
|
||||
.appFont(size: 14, weight: .medium)
|
||||
.foregroundColor(.white)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user