콘텐츠 전체 문자열 번역 추가
This commit is contained in:
@@ -4068,22 +4068,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"모집완료" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Recruitment closed"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "募集終了"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"목" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
@@ -4100,6 +4084,22 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"모집완료" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Recruitment closed"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "募集終了"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"모집중" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
@@ -4148,6 +4148,22 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"무료 콘텐츠 전체" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "All free content"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "無料コンテンツ一覧"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"문자" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
@@ -6724,102 +6740,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"이벤트 참여하기" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Join the event"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "イベントに参加する"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"이용약관" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Terms of service"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "利用規約"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"인기" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Popular"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "人気"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"인기순" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "By popularity"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "人気順"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"인증완료" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Verification completed"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "認証完了"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"일" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Sun"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "日"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"이메일" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
@@ -6900,6 +6820,38 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"이벤트 참여하기" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Join the event"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "イベントに参加する"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"이용약관" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Terms of service"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "利用規約"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"이전화" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
@@ -6916,6 +6868,22 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"인기" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Popular"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "人気"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"인기 시리즈" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
@@ -6996,6 +6964,54 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"인기순" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "By popularity"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "人気順"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"인증완료" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Verification completed"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "認証完了"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"일" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Sun"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "日"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"일간 랭킹" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
@@ -8676,6 +8692,22 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"콘텐츠 전체" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "All content"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "コンテンツ一覧"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"콘텐츠 전체보기" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
@@ -9124,6 +9156,22 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"포인트 대여 전체" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "All point rentals"
|
||||
}
|
||||
},
|
||||
"ja" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "ポイントレンタル一覧"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"포인트 대여 콘텐츠" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
|
||||
@@ -18,7 +18,7 @@ struct ContentAllView: View {
|
||||
NavigationView {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
VStack(spacing: 0) {
|
||||
DetailNavigationBar(title: isFree ? "무료 콘텐츠 전체" : isPointAvailableOnly ? "포인트 대여 전체" : "콘텐츠 전체")
|
||||
DetailNavigationBar(title: isFree ? String(localized: "무료 콘텐츠 전체") : isPointAvailableOnly ? String(localized: "포인트 대여 전체") : String(localized: "콘텐츠 전체"))
|
||||
|
||||
if !viewModel.themeList.isEmpty {
|
||||
ContentMainContentThemeView(
|
||||
|
||||
@@ -32,7 +32,7 @@ final class ContentAllViewModel: ObservableObject {
|
||||
}
|
||||
}
|
||||
|
||||
@Published var selectedTheme = "전체" {
|
||||
@Published var selectedTheme = I18n.Category.all {
|
||||
didSet {
|
||||
page = 1
|
||||
isLast = false
|
||||
@@ -52,7 +52,7 @@ final class ContentAllViewModel: ObservableObject {
|
||||
if !isLast && !isLoading {
|
||||
isLoading = true
|
||||
|
||||
repository.getAllAudioContents(page: page, size: pageSize, isFree: isFree, isPointAvailableOnly: isPointAvailableOnly, sortType: sort, theme: selectedTheme == "전체" ? nil : selectedTheme)
|
||||
repository.getAllAudioContents(page: page, size: pageSize, isFree: isFree, isPointAvailableOnly: isPointAvailableOnly, sortType: sort, theme: selectedTheme == I18n.Category.all ? nil : selectedTheme)
|
||||
.sink { result in
|
||||
switch result {
|
||||
case .finished:
|
||||
@@ -84,13 +84,13 @@ final class ContentAllViewModel: 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
|
||||
}
|
||||
@@ -118,18 +118,18 @@ final class ContentAllViewModel: ObservableObject {
|
||||
self.isLoading = false
|
||||
|
||||
if let data = decoded.data, decoded.success {
|
||||
self.themeList = ["전체"] + data
|
||||
self.themeList = [I18n.Category.all] + data
|
||||
} else {
|
||||
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
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ final class ContentNewAllViewModel: ObservableObject {
|
||||
@Published var themeList = [String]()
|
||||
@Published var newContentList = [GetAudioContentMainItem]()
|
||||
|
||||
@Published var selectedTheme = "전체" {
|
||||
@Published var selectedTheme = I18n.Category.all {
|
||||
didSet {
|
||||
page = 1
|
||||
isLast = false
|
||||
@@ -41,7 +41,7 @@ final class ContentNewAllViewModel: ObservableObject {
|
||||
|
||||
repository.getNewContentAllOfTheme(
|
||||
isFree: isFree,
|
||||
theme: selectedTheme == "전체" ? "" : selectedTheme,
|
||||
theme: selectedTheme == I18n.Category.all ? "" : selectedTheme,
|
||||
page: page,
|
||||
size: pageSize
|
||||
)
|
||||
@@ -78,13 +78,13 @@ final class ContentNewAllViewModel: 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
|
||||
}
|
||||
@@ -113,19 +113,19 @@ final class ContentNewAllViewModel: ObservableObject {
|
||||
|
||||
if let data = decoded.data, decoded.success {
|
||||
self.themeList.removeAll()
|
||||
self.themeList.append("전체")
|
||||
self.themeList.append(I18n.Category.all)
|
||||
self.themeList.append(contentsOf: data)
|
||||
} else {
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user