feat(i18n): 라이브 룸 하드코딩 문구를 I18n 키로 통일한다

This commit is contained in:
Yu Sung
2026-04-01 13:52:02 +09:00
parent 540238eb48
commit bceec46ebc
36 changed files with 571 additions and 324 deletions

View File

@@ -18,12 +18,12 @@ struct LiveRoomMenuSelectView: View {
var body: some View {
VStack(alignment: .leading, spacing: 0) {
Text("메뉴")
Text(I18n.CreateLive.menuTitle)
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
HStack(spacing: 0) {
Text("메뉴를 활성화 하시겠습니까?")
Text(I18n.CreateLive.menuActivatePrompt)
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "eeeeee"))
@@ -72,7 +72,7 @@ struct LiveRoomMenuSelectView: View {
TextViewWrapper(
text: $menu,
placeholder: "메뉴판을 작성해주세요.",
placeholder: I18n.CreateLive.menuPlaceholder,
textColorHex: "eeeeee",
backgroundColorHex: "303030"
)

View File

@@ -16,7 +16,7 @@ struct MenuSettingsView: View {
var body: some View {
BaseView(isLoading: $viewModel.isLoading) {
VStack(spacing: 13.3) {
DetailNavigationBar(title: "메뉴 설정") {
DetailNavigationBar(title: I18n.MemberChannel.menuSettings) {
isShowing = false
}
@@ -52,7 +52,7 @@ struct MenuSettingsView: View {
TextViewWrapper(
text: $viewModel.menu,
placeholder: "메뉴판을 작성해주세요.",
placeholder: I18n.CreateLive.menuPlaceholder,
textColorHex: "eeeeee",
backgroundColorHex: "303030"
)
@@ -60,7 +60,7 @@ struct MenuSettingsView: View {
.cornerRadius(6.7)
.padding(.horizontal, 13.3)
Text("저장하기")
Text(I18n.CreateLive.saveMenuAction)
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.white)
.padding(.vertical, 16)

View File

@@ -27,13 +27,13 @@ final class MenuSettingsViewModel: ObservableObject {
func selectMenuPreset(selectedMenuPreset: SelectedMenu) {
if menuList.isEmpty && (selectedMenuPreset == .MENU_2 || selectedMenuPreset == .MENU_3) {
errorMessage = "메뉴 1을 먼저 설정하세요"
errorMessage = I18n.MissionMenu.needMenu1First
isShowPopup = true
return
}
if menuList.count == 1 && selectedMenuPreset == .MENU_3 {
errorMessage = "메뉴 1과 메뉴 2를 먼저 설정하세요"
errorMessage = I18n.MissionMenu.needMenu1And2First
isShowPopup = true
return
}
@@ -82,14 +82,14 @@ final class MenuSettingsViewModel: ObservableObject {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
}
self.isShowPopup = true
}
} catch {
onFailure()
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
}
}
@@ -98,7 +98,7 @@ final class MenuSettingsViewModel: ObservableObject {
func saveMenu() {
if selectedMenuText == menu {
self.errorMessage = "저장되었습니다."
self.errorMessage = I18n.CreateLive.menuSavedMessage
self.isShowPopup = true
return
}
@@ -122,20 +122,20 @@ final class MenuSettingsViewModel: ObservableObject {
let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData)
if decoded.success {
self.errorMessage = "저장되었습니다."
self.errorMessage = I18n.CreateLive.menuSavedMessage
self.isShowPopup = true
self.getAllMenuPreset(selectedMenu: self.selectedMenu ?? .MENU_1) {}
} else {
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
}
}