다국어 문자열과 카운트 노출을 정비

This commit is contained in:
Yu Sung
2025-12-17 15:15:08 +09:00
parent 619870e1de
commit fa163ec83d
11 changed files with 156 additions and 127 deletions

View File

@@ -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" : {

View File

@@ -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("전체")

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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)

View File

@@ -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
}
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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
}

View File

@@ -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"))