diff --git a/SodaLive/Resources/Localizable.xcstrings b/SodaLive/Resources/Localizable.xcstrings index 5166cde..07910be 100644 --- a/SodaLive/Resources/Localizable.xcstrings +++ b/SodaLive/Resources/Localizable.xcstrings @@ -82,7 +82,36 @@ } }, " %lld" : { - + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : " %lld" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : " %lld" + } + } + } + }, + " %lld " : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : " %lld " + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : " %lld " + } + } + } }, " OFF" : { "localizations" : { @@ -116,22 +145,6 @@ } } }, - " 개" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : " items" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : " 個" - } - } - } - }, " 당첨!" : { "localizations" : { "en" : { @@ -148,22 +161,6 @@ } } }, - " 명" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : " people" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : " 名" - } - } - } - }, " 캔" : { "localizations" : { "en" : { @@ -4052,22 +4049,6 @@ } } }, - "모든 기기에서 로그아웃" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Log out from all devices" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "すべての端末でログアウト" - } - } - } - }, "목" : { "localizations" : { "en" : { @@ -4084,6 +4065,22 @@ } } }, + "모든 기기에서 로그아웃" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Log out from all devices" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すべての端末でログアウト" + } + } + } + }, "모집완료" : { "localizations" : { "en" : { @@ -6756,6 +6753,38 @@ } } }, + "이벤트" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Events" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "イベント" + } + } + } + }, + "일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sun" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日" + } + } + } + }, "이메일을 입력하세요" : { "localizations" : { "en" : { @@ -6804,22 +6833,6 @@ } } }, - "이벤트" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Events" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "イベント" - } - } - } - }, "이벤트 참여하기" : { "localizations" : { "en" : { @@ -6996,22 +7009,6 @@ } } }, - "일" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sun" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "日" - } - } - } - }, "일간 랭킹" : { "localizations" : { "en" : { @@ -7844,6 +7841,22 @@ } } }, + "차단 리스트" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Block list" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ブロックリスト" + } + } + } + }, "차단 해제" : { "localizations" : { "en" : { @@ -8084,18 +8097,18 @@ } } }, - "총 " : { + "총" : { "localizations" : { "en" : { "stringUnit" : { "state" : "translated", - "value" : "Total " + "value" : "Total" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "合計 " + "value" : "合計" } } } @@ -9076,6 +9089,22 @@ } } }, + "팔로잉 리스트" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Following list" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "フォロー中リスト" + } + } + } + }, "팔로잉 채널" : { "localizations" : { "en" : { @@ -9686,4 +9715,4 @@ } }, "version" : "1.1" -} +} \ No newline at end of file diff --git a/SodaLive/Sources/Explorer/Profile/FollowerList/FollowerListView.swift b/SodaLive/Sources/Explorer/Profile/FollowerList/FollowerListView.swift index 2a9f341..ff29630 100644 --- a/SodaLive/Sources/Explorer/Profile/FollowerList/FollowerListView.swift +++ b/SodaLive/Sources/Explorer/Profile/FollowerList/FollowerListView.swift @@ -22,7 +22,7 @@ struct FollowerListView: View { var body: some View { BaseView(isLoading: $viewModel.isLoading) { VStack(spacing: 0) { - DetailNavigationBar(title: "팔로워 리스트") + DetailNavigationBar(title: String(localized: "팔로워 리스트")) HStack(spacing: 4) { Text("전체") diff --git a/SodaLive/Sources/Explorer/Profile/FollowerList/FollowerListViewModel.swift b/SodaLive/Sources/Explorer/Profile/FollowerList/FollowerListViewModel.swift index 2510ed3..b9a7698 100644 --- a/SodaLive/Sources/Explorer/Profile/FollowerList/FollowerListViewModel.swift +++ b/SodaLive/Sources/Explorer/Profile/FollowerList/FollowerListViewModel.swift @@ -62,13 +62,13 @@ final class FollowerListViewModel: 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 } } @@ -105,13 +105,13 @@ final class FollowerListViewModel: 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 } } diff --git a/SodaLive/Sources/Explorer/Profile/UserProfileViewModel.swift b/SodaLive/Sources/Explorer/Profile/UserProfileViewModel.swift index 5f81d1e..f9a332a 100644 --- a/SodaLive/Sources/Explorer/Profile/UserProfileViewModel.swift +++ b/SodaLive/Sources/Explorer/Profile/UserProfileViewModel.swift @@ -83,13 +83,13 @@ final class UserProfileViewModel: 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 } @@ -164,13 +164,13 @@ final class UserProfileViewModel: 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 } } @@ -306,13 +306,13 @@ final class UserProfileViewModel: 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 } } @@ -346,13 +346,13 @@ final class UserProfileViewModel: 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 } } @@ -443,13 +443,13 @@ final class UserProfileViewModel: 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 } } @@ -481,13 +481,13 @@ final class UserProfileViewModel: 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 } } @@ -519,12 +519,12 @@ final class UserProfileViewModel: 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 } } @@ -557,13 +557,13 @@ final class UserProfileViewModel: 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 } } diff --git a/SodaLive/Sources/Follow/FollowCreatorView.swift b/SodaLive/Sources/Follow/FollowCreatorView.swift index 911cebe..4b4a67f 100644 --- a/SodaLive/Sources/Follow/FollowCreatorView.swift +++ b/SodaLive/Sources/Follow/FollowCreatorView.swift @@ -18,18 +18,18 @@ struct FollowCreatorView: View { var body: some View { BaseView(isLoading: $viewModel.isLoading) { VStack(spacing: 0) { - DetailNavigationBar(title: "팔로잉 리스트") + DetailNavigationBar(title: String(localized: "팔로잉 리스트")) HStack(spacing: 0) { - Text("총 ") + Text("총") .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color.grayee) - Text("\(viewModel.totalCount)") + Text(" \(viewModel.totalCount) ") .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color.mainRed3) - Text(" 명") + Text("명") .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color.grayee) diff --git a/SodaLive/Sources/Follow/FollowCreatorViewModel.swift b/SodaLive/Sources/Follow/FollowCreatorViewModel.swift index b4516d6..6cc857d 100644 --- a/SodaLive/Sources/Follow/FollowCreatorViewModel.swift +++ b/SodaLive/Sources/Follow/FollowCreatorViewModel.swift @@ -63,13 +63,13 @@ final class FollowCreatorViewModel: 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 self.isLoading = false } @@ -108,13 +108,13 @@ final class FollowCreatorViewModel: 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 } } diff --git a/SodaLive/Sources/Live/Room/Dialog/LiveRoomDonationRankingDialog.swift b/SodaLive/Sources/Live/Room/Dialog/LiveRoomDonationRankingDialog.swift index 2e8ce67..4100f78 100644 --- a/SodaLive/Sources/Live/Room/Dialog/LiveRoomDonationRankingDialog.swift +++ b/SodaLive/Sources/Live/Room/Dialog/LiveRoomDonationRankingDialog.swift @@ -37,12 +37,12 @@ struct LiveRoomDonationRankingDialog: View { .font(.custom(Font.medium.rawValue, size: 14.7)) .foregroundColor(Color.grayee) - Text("\(donationStatus.totalCount)") + Text(" \(donationStatus.totalCount)") .font(.custom(Font.medium.rawValue, size: 12)) .foregroundColor(Color.button) .padding(.leading, 6.7) - Text(" 명") + Text("명") .font(.custom(Font.medium.rawValue, size: 12)) .foregroundColor(Color.gray77) diff --git a/SodaLive/Sources/Live/Room/Dialog/LiveRoomHeartRankingDialog.swift b/SodaLive/Sources/Live/Room/Dialog/LiveRoomHeartRankingDialog.swift index de79e75..0bccbdf 100644 --- a/SodaLive/Sources/Live/Room/Dialog/LiveRoomHeartRankingDialog.swift +++ b/SodaLive/Sources/Live/Room/Dialog/LiveRoomHeartRankingDialog.swift @@ -60,12 +60,12 @@ struct LiveRoomHeartRankingDialog: View { .font(.custom(Font.medium.rawValue, size: 14.7)) .foregroundColor(Color.grayee) - Text("\(heartStatus.totalCount)") + Text(" \(heartStatus.totalCount)") .font(.custom(Font.medium.rawValue, size: 12)) .foregroundColor(Color.button) .padding(.leading, 6.7) - Text(" 명") + Text("명") .font(.custom(Font.medium.rawValue, size: 12)) .foregroundColor(Color.gray77) diff --git a/SodaLive/Sources/MyPage/Block/BlockMemberListView.swift b/SodaLive/Sources/MyPage/Block/BlockMemberListView.swift index a9da240..a7b85af 100644 --- a/SodaLive/Sources/MyPage/Block/BlockMemberListView.swift +++ b/SodaLive/Sources/MyPage/Block/BlockMemberListView.swift @@ -14,18 +14,18 @@ struct BlockMemberListView: View { var body: some View { BaseView(isLoading: $viewModel.isLoading) { VStack(spacing: 0) { - DetailNavigationBar(title: "차단 리스트") + DetailNavigationBar(title: String(localized: "차단 리스트")) HStack(spacing: 0) { - Text("총 ") + Text("총") .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color.grayee) - Text("\(viewModel.totalCount)") + Text(" \(viewModel.totalCount) ") .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color.mainRed3) - Text(" 명") + Text("명") .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color.grayee) diff --git a/SodaLive/Sources/MyPage/Block/BlockMemberListViewModel.swift b/SodaLive/Sources/MyPage/Block/BlockMemberListViewModel.swift index d059ef3..e7c32c2 100644 --- a/SodaLive/Sources/MyPage/Block/BlockMemberListViewModel.swift +++ b/SodaLive/Sources/MyPage/Block/BlockMemberListViewModel.swift @@ -62,13 +62,13 @@ final class BlockMemberListViewModel: 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 self.isLoading = false } diff --git a/SodaLive/Sources/MyPage/OrderList/OrderListAllInnerView.swift b/SodaLive/Sources/MyPage/OrderList/OrderListAllInnerView.swift index 9d6646c..750899d 100644 --- a/SodaLive/Sources/MyPage/OrderList/OrderListAllInnerView.swift +++ b/SodaLive/Sources/MyPage/OrderList/OrderListAllInnerView.swift @@ -14,15 +14,15 @@ struct OrderListAllInnerView: View { BaseView(isLoading: $viewModel.isLoading) { VStack(spacing: 0) { HStack(spacing: 0) { - Text("총 ") + Text("총") .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color(hex: "eeeeee")) - Text("\(viewModel.totalCount)") + Text(" \(viewModel.totalCount) ") .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color(hex: "dd4500")) - Text(" 개") + Text("개") .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color(hex: "eeeeee"))