설정 로그아웃 문구 다국어화

This commit is contained in:
Yu Sung
2025-12-19 21:53:01 +09:00
parent 8dae75afd7
commit 3220f300b5
3 changed files with 35 additions and 13 deletions
+23 -1
View File
@@ -111,8 +111,30 @@ enum I18n {
static var points: String { pick(ko: "포인트", en: "Points", ja: "ポイント") }
}
// 설정 > 회원탈퇴(SignOut)
// 설정 화면 및 계정 관련 공통 문구는 아래 Settings 네임스페이스에 포함됨
// 설정 > 공통 및 회원탈퇴(SignOut)
enum Settings {
// 알림 다이얼로그 타이틀
static var alertTitle: String { pick(ko: "알림", en: "Notice", ja: "お知らせ") }
// 로그아웃 확인 질문
static var logoutQuestion: String {
pick(
ko: "로그아웃 하시겠어요?",
en: "Do you want to log out?",
ja: "ログアウトしますか?"
)
}
// 모든 기기 로그아웃 확인 질문
static var logoutAllQuestion: String {
pick(
ko: "모든 기기에서 로그아웃 하시겠어요?",
en: "Do you want to log out from all devices?",
ja: "すべてのデバイスからログアウトしますか?"
)
}
enum SignOut {
// 탈퇴 사유 목록 (UI에서 그대로 배열로 사용 가능)
static var reasons: [String] {
+8 -8
View File
@@ -215,9 +215,9 @@ struct SettingsView: View {
if isShowLogoutDialog {
SodaDialog(
title: "알림",
desc: "로그아웃 하시겠어요?",
confirmButtonTitle: "확인",
title: I18n.Settings.alertTitle,
desc: I18n.Settings.logoutQuestion,
confirmButtonTitle: I18n.Common.confirm,
confirmButtonAction: {
ContentPlayManager.shared.stopAudio()
ContentPlayerPlayManager.shared.resetPlayer()
@@ -231,7 +231,7 @@ struct SettingsView: View {
AppState.shared.setAppStep(step: .splash)
}
},
cancelButtonTitle: "취소",
cancelButtonTitle: I18n.Common.cancel,
cancelButtonAction: {
self.isShowLogoutDialog = false
}
@@ -240,9 +240,9 @@ struct SettingsView: View {
if isShowLogoutAllDeviceDialog {
SodaDialog(
title: "알림",
desc: "모든 기기에서 로그아웃 하시겠어요?",
confirmButtonTitle: "확인",
title: I18n.Settings.alertTitle,
desc: I18n.Settings.logoutAllQuestion,
confirmButtonTitle: I18n.Common.confirm,
confirmButtonAction: {
ContentPlayManager.shared.stopAudio()
ContentPlayerPlayManager.shared.resetPlayer()
@@ -253,7 +253,7 @@ struct SettingsView: View {
AppState.shared.setAppStep(step: .splash)
}
},
cancelButtonTitle: "취소",
cancelButtonTitle: I18n.Common.cancel,
cancelButtonAction: {
self.isShowLogoutAllDeviceDialog = false
}
@@ -42,13 +42,13 @@ final class SettingsViewModel: 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
}
@@ -82,13 +82,13 @@ final class SettingsViewModel: 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
}