feat(i18n): 오디션 화면 하드코딩 문구를 I18n 키로 통일한다

This commit is contained in:
Yu Sung
2026-03-31 15:39:57 +09:00
parent 136bfc8eee
commit 222520d5e9
13 changed files with 406 additions and 87 deletions

View File

@@ -30,7 +30,7 @@ struct AuditionDetailView: View {
.frame(maxWidth: .infinity)
.cornerRadius(6.7)
Text("오디션 정보")
Text(I18n.Audition.Detail.informationTitle)
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.top, 15)
@@ -38,7 +38,7 @@ struct AuditionDetailView: View {
ExpandableTextView(text: response.information)
.padding(.top, 13.3)
Text("오디션 캐릭터")
Text(I18n.Audition.Detail.characterTitle)
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.top, 15)

View File

@@ -18,7 +18,7 @@ final class AuditionDetailViewModel: ObservableObject {
@Published var isLoading = false
@Published var response: GetAuditionDetailResponse? = nil
@Published var title: String = "보이스온"
@Published var title: String = I18n.Audition.defaultTitle
func getAuditionDetail(auditionId: Int, onFailure: @escaping () -> Void) {
isLoading = true
@@ -45,7 +45,7 @@ final class AuditionDetailViewModel: ObservableObject {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
}
self.isShowPopup = true
@@ -54,7 +54,7 @@ final class AuditionDetailViewModel: ObservableObject {
}
}
} catch {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
onFailure()

View File

@@ -64,7 +64,7 @@ class AuditionSoundManager: NSObject, ObservableObject {
private func setupPlayer(with url: String) {
guard let url = URL(string: url) else {
self.errorMessage = "오류가 발생했습니다. 다시 시도해 주세요."
self.errorMessage = I18n.Audition.Sound.playbackFailed
self.isShowPopup = true
return
}
@@ -92,7 +92,7 @@ class AuditionSoundManager: NSObject, ObservableObject {
}
} catch {
DispatchQueue.main.async {
self.errorMessage = "오류가 발생했습니다. 다시 시도해 주세요."
self.errorMessage = I18n.Audition.Sound.playbackFailed
self.isShowPopup = true
self.isLoading = false
}