feat(i18n): 콘텐츠 모듈 그룹2 하드코딩 문구를 I18n 키로 통일한다

This commit is contained in:
Yu Sung
2026-04-01 16:08:26 +09:00
parent 49e2487617
commit a90996603b
11 changed files with 184 additions and 80 deletions

View File

@@ -154,7 +154,7 @@ final class ContentCreateViewModel: ObservableObject {
mimeType: "image/*")
)
} else {
errorMessage = "커버이미지를 업로드 하지 못했습니다.\n다시 선택해 주세요"
errorMessage = I18n.CreateContent.coverImageUploadFailed
isShowPopup = true
isLoading = false
return
@@ -176,19 +176,19 @@ final class ContentCreateViewModel: ObservableObject {
)
)
} else {
errorMessage = "콘텐츠 파일을 업로드 하지 못했습니다.\n다시 선택해 주세요"
errorMessage = I18n.CreateContent.contentFileUploadFailed
isShowPopup = true
isLoading = false
return
}
} else {
errorMessage = "콘텐츠 파일을 업로드 하지 못했습니다.\n다시 선택해 주세요"
errorMessage = I18n.CreateContent.contentFileUploadFailed
isShowPopup = true
isLoading = false
return
}
} else {
errorMessage = "콘텐츠 파일을 업로드 하지 못했습니다.\n다시 선택해 주세요"
errorMessage = I18n.CreateContent.contentFileUploadFailed
isShowPopup = true
isLoading = false
return
@@ -219,19 +219,19 @@ final class ContentCreateViewModel: 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
}
}
.store(in: &subscription)
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
self.isLoading = false
}
@@ -240,37 +240,37 @@ final class ContentCreateViewModel: ObservableObject {
private func validateData() -> Bool {
if title.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
errorMessage = "제목을 입력해 주세요."
errorMessage = I18n.CreateContent.titleRequired
isShowPopup = true
return false
}
if detail.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty || detail.count < 5 {
errorMessage = "내용을 5자 이상 입력해 주세요."
errorMessage = I18n.CreateContent.detailMinLengthRequired
isShowPopup = true
return false
}
if theme == nil {
errorMessage = "테마를 선택해 주세요."
errorMessage = I18n.CreateContent.themeRequired
isShowPopup = true
return false
}
if coverImage == nil {
errorMessage = "커버이미지를 선택해 주세요."
errorMessage = I18n.CreateContent.coverImageRequired
isShowPopup = true
return false
}
if selectedFileUrl == nil {
errorMessage = "오디오 콘텐츠를 선택해 주세요."
errorMessage = I18n.CreateContent.audioContentRequired
isShowPopup = true
return false
}
if !isFree && price < 5 {
errorMessage = "콘텐츠의 최소금액은 5캔 입니다."
errorMessage = I18n.CreateContent.minimumPriceRequired
isShowPopup = true
return false
}
@@ -278,14 +278,14 @@ final class ContentCreateViewModel: ObservableObject {
if previewStartTime.count > 0 && previewEndTime.count > 0 {
let startTimeArray = previewStartTime.split(separator: ":")
if startTimeArray.count != 3 {
errorMessage = "미리 듣기 시간 형식은 00:30:00 과 같아야 합니다"
errorMessage = I18n.CreateContent.previewTimeFormatInvalid
isShowPopup = true
return false
}
for time in startTimeArray {
if time.count != 2 {
errorMessage = "미리 듣기 시간 형식은 00:30:00 과 같아야 합니다"
errorMessage = I18n.CreateContent.previewTimeFormatInvalid
isShowPopup = true
return false
}
@@ -293,14 +293,14 @@ final class ContentCreateViewModel: ObservableObject {
let endTimeArray = previewStartTime.split(separator: ":")
if endTimeArray.count != 3 {
errorMessage = "미리 듣기 시간 형식은 00:30:00 과 같아야 합니다"
errorMessage = I18n.CreateContent.previewTimeFormatInvalid
isShowPopup = true
return false
}
for time in endTimeArray {
if time.count != 2 {
errorMessage = "미리 듣기 시간 형식은 00:30:00 과 같아야 합니다"
errorMessage = I18n.CreateContent.previewTimeFormatInvalid
isShowPopup = true
return false
}
@@ -308,13 +308,13 @@ final class ContentCreateViewModel: ObservableObject {
let timeDifference = timeDifference(startTime: previewStartTime, endTime: previewEndTime)
if timeDifference < 15.0 {
errorMessage = "미리 듣기의 최소 시간은 15초 입니다"
errorMessage = I18n.CreateContent.previewMinimumDurationError
isShowPopup = true
return false
}
} else {
if previewStartTime.count > 0 || previewEndTime.count > 0 {
errorMessage = "미리 듣기 시작 시간과 종료 시간 둘 다 입력을 하거나 둘 다 입력 하지 않아야 합니다."
errorMessage = I18n.CreateContent.previewStartEndBothOrNone
isShowPopup = true
return false
}