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

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

View File

@@ -111,8 +111,30 @@ enum I18n {
static var points: String { pick(ko: "포인트", en: "Points", ja: "ポイント") } static var points: String { pick(ko: "포인트", en: "Points", ja: "ポイント") }
} }
// > (SignOut) // Settings
// > (SignOut)
enum Settings { 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 { enum SignOut {
// (UI ) // (UI )
static var reasons: [String] { static var reasons: [String] {

View File

@@ -215,9 +215,9 @@ struct SettingsView: View {
if isShowLogoutDialog { if isShowLogoutDialog {
SodaDialog( SodaDialog(
title: "알림", title: I18n.Settings.alertTitle,
desc: "로그아웃 하시겠어요?", desc: I18n.Settings.logoutQuestion,
confirmButtonTitle: "확인", confirmButtonTitle: I18n.Common.confirm,
confirmButtonAction: { confirmButtonAction: {
ContentPlayManager.shared.stopAudio() ContentPlayManager.shared.stopAudio()
ContentPlayerPlayManager.shared.resetPlayer() ContentPlayerPlayManager.shared.resetPlayer()
@@ -231,7 +231,7 @@ struct SettingsView: View {
AppState.shared.setAppStep(step: .splash) AppState.shared.setAppStep(step: .splash)
} }
}, },
cancelButtonTitle: "취소", cancelButtonTitle: I18n.Common.cancel,
cancelButtonAction: { cancelButtonAction: {
self.isShowLogoutDialog = false self.isShowLogoutDialog = false
} }
@@ -240,9 +240,9 @@ struct SettingsView: View {
if isShowLogoutAllDeviceDialog { if isShowLogoutAllDeviceDialog {
SodaDialog( SodaDialog(
title: "알림", title: I18n.Settings.alertTitle,
desc: "모든 기기에서 로그아웃 하시겠어요?", desc: I18n.Settings.logoutAllQuestion,
confirmButtonTitle: "확인", confirmButtonTitle: I18n.Common.confirm,
confirmButtonAction: { confirmButtonAction: {
ContentPlayManager.shared.stopAudio() ContentPlayManager.shared.stopAudio()
ContentPlayerPlayManager.shared.resetPlayer() ContentPlayerPlayManager.shared.resetPlayer()
@@ -253,7 +253,7 @@ struct SettingsView: View {
AppState.shared.setAppStep(step: .splash) AppState.shared.setAppStep(step: .splash)
} }
}, },
cancelButtonTitle: "취소", cancelButtonTitle: I18n.Common.cancel,
cancelButtonAction: { cancelButtonAction: {
self.isShowLogoutAllDeviceDialog = false self.isShowLogoutAllDeviceDialog = false
} }

View File

@@ -42,13 +42,13 @@ final class SettingsViewModel: ObservableObject {
if let message = decoded.message { if let message = decoded.message {
self.errorMessage = message self.errorMessage = message
} else { } else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." self.errorMessage = I18n.Common.commonError
} }
self.isShowPopup = true self.isShowPopup = true
} }
} catch { } catch {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." self.errorMessage = I18n.Common.commonError
self.isShowPopup = true self.isShowPopup = true
} }
@@ -82,13 +82,13 @@ final class SettingsViewModel: ObservableObject {
if let message = decoded.message { if let message = decoded.message {
self.errorMessage = message self.errorMessage = message
} else { } else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." self.errorMessage = I18n.Common.commonError
} }
self.isShowPopup = true self.isShowPopup = true
} }
} catch { } catch {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." self.errorMessage = I18n.Common.commonError
self.isShowPopup = true self.isShowPopup = true
} }