feat(i18n): 설정 화면 하드코딩 문구를 I18n 키로 통일한다

This commit is contained in:
Yu Sung
2026-03-31 19:46:21 +09:00
parent 3f61a08a04
commit 4c170e0f97
17 changed files with 354 additions and 94 deletions

View File

@@ -14,12 +14,12 @@ struct NotificationSettingsView: View {
var body: some View {
BaseView(isLoading: $viewModel.isLoading) {
VStack(spacing: 0) {
DetailNavigationBar(title: "알림 설정")
DetailNavigationBar(title: I18n.Settings.Notification.title)
ScrollView(.vertical, showsIndicators: false) {
VStack(spacing: 0) {
HStack(spacing: 0) {
Text("라이브 알림")
Text(I18n.Settings.Notification.live)
.appFont(size: 15, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
@@ -39,7 +39,7 @@ struct NotificationSettingsView: View {
.foregroundColor(Color(hex: "909090").opacity(0.3))
HStack(spacing: 0) {
Text("콘텐츠 업로드 알림")
Text(I18n.Settings.Notification.contentUpload)
.appFont(size: 15, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
@@ -59,7 +59,7 @@ struct NotificationSettingsView: View {
.foregroundColor(Color(hex: "909090").opacity(0.3))
HStack(spacing: 0) {
Text("메시지 알림")
Text(I18n.Settings.Notification.message)
.appFont(size: 15, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
@@ -108,11 +108,11 @@ struct NotificationReceiveSettingsView: View {
var body: some View {
BaseView(isLoading: $viewModel.isLoading) {
VStack(spacing: 0) {
DetailNavigationBar(title: "알림 수신 설정")
DetailNavigationBar(title: I18n.Settings.Notification.receiveSettingsTitle)
ScrollView(.vertical, showsIndicators: false) {
VStack(alignment: .leading, spacing: 0) {
Text("서비스 알림")
Text(I18n.Settings.Notification.serviceNotifications)
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.padding(.top, 26.7)
@@ -120,7 +120,7 @@ struct NotificationReceiveSettingsView: View {
VStack(spacing: 0) {
NotificationReceiveServiceRowView(
title: "라이브 알림",
title: I18n.Settings.Notification.live,
isOn: viewModel.followingChannelLive,
onTapToggle: {
viewModel.followingChannelLive.toggle()
@@ -132,7 +132,7 @@ struct NotificationReceiveSettingsView: View {
.foregroundColor(Color(hex: "909090").opacity(0.3))
NotificationReceiveServiceRowView(
title: "콘텐츠 업로드 알림",
title: I18n.Settings.Notification.contentUpload,
isOn: viewModel.followingChannelUploadContent,
onTapToggle: {
viewModel.followingChannelUploadContent.toggle()
@@ -144,7 +144,7 @@ struct NotificationReceiveSettingsView: View {
.foregroundColor(Color(hex: "909090").opacity(0.3))
NotificationReceiveServiceRowView(
title: "메시지 알림",
title: I18n.Settings.Notification.message,
isOn: viewModel.message,
onTapToggle: {
viewModel.message.toggle()
@@ -158,14 +158,14 @@ struct NotificationReceiveSettingsView: View {
.padding(.top, 13.3)
.padding(.horizontal, 13.3)
Text("팔로잉 채널")
Text(I18n.Settings.Notification.followingChannels)
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.padding(.top, 26.7)
.padding(.horizontal, 13.3)
HStack(spacing: 0) {
Text("")
Text(I18n.Settings.Notification.totalPrefix)
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
@@ -173,7 +173,7 @@ struct NotificationReceiveSettingsView: View {
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.mainRed3)
Text("")
Text(I18n.Settings.Notification.countUnit)
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
@@ -212,7 +212,7 @@ struct NotificationReceiveSettingsView: View {
}
.padding(.top, 13.3)
} else {
Text("팔로우 중인 채널이 없습니다.")
Text(I18n.Settings.Notification.noFollowingChannels)
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.padding(.top, 13.3)