feat(i18n): 오디션 화면 하드코딩 문구를 I18n 키로 통일한다
This commit is contained in:
@@ -30,7 +30,7 @@ struct ApplyMethodView: View {
|
||||
}
|
||||
}
|
||||
|
||||
Text("오디션 지원방식")
|
||||
Text(I18n.Audition.ApplyMethod.title)
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.graybb)
|
||||
.padding(.top, 33.3)
|
||||
@@ -39,7 +39,7 @@ struct ApplyMethodView: View {
|
||||
HStack(spacing: 3) {
|
||||
Image("ic_upload")
|
||||
|
||||
Text("파일 업로드")
|
||||
Text(I18n.Audition.ApplyMethod.fileUpload)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color.button)
|
||||
}
|
||||
@@ -60,7 +60,7 @@ struct ApplyMethodView: View {
|
||||
HStack(spacing: 3) {
|
||||
Image("ic_mic_color_button")
|
||||
|
||||
Text("바로 녹음")
|
||||
Text(I18n.Audition.ApplyMethod.recordNow)
|
||||
.appFont(size: 14.7, weight: .medium)
|
||||
.foregroundColor(Color.button)
|
||||
}
|
||||
@@ -81,7 +81,7 @@ struct ApplyMethodView: View {
|
||||
.padding(.top, 21.3)
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("※ 파일은 mp3, aac만 업로드 가능")
|
||||
Text(I18n.Audition.ApplyMethod.fileFormatNotice)
|
||||
.appFont(size: 12, weight: .medium)
|
||||
.foregroundColor(Color.gray77)
|
||||
.padding(.top, 13.3)
|
||||
|
||||
@@ -30,7 +30,7 @@ struct AuditionApplicantRecordingView: View {
|
||||
VStack {
|
||||
VStack(spacing: 0) {
|
||||
HStack(spacing: 0) {
|
||||
Text("오디션 녹음")
|
||||
Text(I18n.Audition.Recording.title)
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
|
||||
@@ -76,7 +76,7 @@ struct AuditionApplicantRecordingView: View {
|
||||
HStack(spacing: 0) {
|
||||
Spacer()
|
||||
|
||||
Text("삭제")
|
||||
Text(I18n.Common.delete)
|
||||
.appFont(size: 15.3, weight: .medium)
|
||||
.foregroundColor(Color.graybb.opacity(0))
|
||||
|
||||
@@ -99,7 +99,7 @@ struct AuditionApplicantRecordingView: View {
|
||||
|
||||
Spacer()
|
||||
|
||||
Text("삭제")
|
||||
Text(I18n.Common.delete)
|
||||
.appFont(size: 15.3, weight: .medium)
|
||||
.foregroundColor(Color.graybb)
|
||||
.onTapGesture {
|
||||
@@ -113,7 +113,7 @@ struct AuditionApplicantRecordingView: View {
|
||||
.padding(.vertical, 52.3)
|
||||
|
||||
HStack(spacing: 13.3) {
|
||||
Text("다시 녹음")
|
||||
Text(I18n.Audition.Recording.recordAgain)
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
.frame(width: (proxy.size.width - 40) / 3, height: 50)
|
||||
@@ -129,7 +129,7 @@ struct AuditionApplicantRecordingView: View {
|
||||
soundManager.recordMode = .RECORD
|
||||
}
|
||||
|
||||
Text("녹음완료")
|
||||
Text(I18n.Audition.Recording.recordComplete)
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.frame(width: (proxy.size.width - 40) * 2 / 3, height: 50)
|
||||
@@ -140,7 +140,7 @@ struct AuditionApplicantRecordingView: View {
|
||||
let soundData = try Data(contentsOf: soundManager.getAudioFileURL())
|
||||
onClickCompleteRecording(tempFileName, soundData)
|
||||
} catch {
|
||||
errorMessage = "녹음파일을 생성하지 못했습니다.\n다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
|
||||
errorMessage = I18n.Audition.Recording.createFileFailed
|
||||
isShowPopup = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ struct AuditionApplyView: View {
|
||||
if isShow {
|
||||
VStack(alignment: .leading, spacing: 0) {
|
||||
HStack(spacing: 0) {
|
||||
Text("오디션 지원")
|
||||
Text(I18n.Audition.Apply.title)
|
||||
.appFont(size: 18.3, weight: .medium)
|
||||
.foregroundColor(.white)
|
||||
|
||||
@@ -45,7 +45,7 @@ struct AuditionApplyView: View {
|
||||
}
|
||||
}
|
||||
|
||||
Text("녹음파일")
|
||||
Text(I18n.Audition.Apply.recordingFile)
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(.grayee)
|
||||
.padding(.top, 20)
|
||||
@@ -53,7 +53,7 @@ struct AuditionApplyView: View {
|
||||
HStack(spacing: 4) {
|
||||
Image("ic_note_square")
|
||||
|
||||
Text(filename)
|
||||
Text(displayFileName)
|
||||
.appFont(size: 13.3, weight: .medium)
|
||||
.foregroundColor(.grayd2)
|
||||
|
||||
@@ -66,12 +66,12 @@ struct AuditionApplyView: View {
|
||||
.cornerRadius(5.3)
|
||||
.padding(.top, 10)
|
||||
|
||||
Text("연락처")
|
||||
Text(I18n.Audition.Apply.contact)
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(.grayee)
|
||||
.padding(.top, 15)
|
||||
|
||||
TextField("합격시 받을 연락처를 남겨주세요", text: $phoneNumber)
|
||||
TextField(I18n.Audition.Apply.contactPlaceholder, text: $phoneNumber)
|
||||
.autocapitalization(.none)
|
||||
.disableAutocorrection(true)
|
||||
.keyboardType(.decimalPad)
|
||||
@@ -89,7 +89,7 @@ struct AuditionApplyView: View {
|
||||
.resizable()
|
||||
.frame(width: 20, height: 20)
|
||||
|
||||
Text("보이스온 오디오 드라마 오디션 합격시 개인 연락을 위한 개인 정보(연락처) 수집 및 활용에 동의합니다.\n오디션 지원자는 개인정보 수집 및 활용 동의에 거부할 권리가 있으며 비동의시 오디션 지원은 취소 됩니다.")
|
||||
Text(I18n.Audition.Apply.privacyAgreement)
|
||||
.appFont(size: 13.3, weight: .medium)
|
||||
.foregroundColor(Color.grayee)
|
||||
.lineSpacing(3)
|
||||
@@ -100,7 +100,7 @@ struct AuditionApplyView: View {
|
||||
isAgree.toggle()
|
||||
}
|
||||
|
||||
Text("오디션 지원하기")
|
||||
Text(I18n.Audition.Apply.submit)
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.padding(.vertical, 13.3)
|
||||
@@ -110,7 +110,7 @@ struct AuditionApplyView: View {
|
||||
.padding(.top, 35)
|
||||
.onTapGesture {
|
||||
if !isAgree {
|
||||
errorMessage = "연락처 수집 및 활용에 동의하셔야 오디션 지원이 가능합니다."
|
||||
errorMessage = I18n.Audition.Apply.requireAgreement
|
||||
isShowPopup = true
|
||||
return
|
||||
}
|
||||
@@ -137,6 +137,14 @@ struct AuditionApplyView: View {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private var displayFileName: String {
|
||||
if filename.hasPrefix("voiceon_now_voice_") {
|
||||
return I18n.Audition.Apply.recordedVoiceFileName
|
||||
}
|
||||
|
||||
return filename
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
|
||||
Reference in New Issue
Block a user