diff --git a/docs/20260331_하드코딩텍스트_I18n통일계획.md b/docs/20260331_하드코딩텍스트_I18n통일계획.md index a44e4e0..ab9ed2d 100644 --- a/docs/20260331_하드코딩텍스트_I18n통일계획.md +++ b/docs/20260331_하드코딩텍스트_I18n통일계획.md @@ -140,6 +140,7 @@ - [x] `SodaLive/Sources/Chat/Talk/TalkViewModel.swift` ### Content (78) +#### Group 1 (1-10) - [ ] `SodaLive/Sources/Content/All/ByTheme/ContentAllByThemeView.swift` - [ ] `SodaLive/Sources/Content/All/ByTheme/ContentAllByThemeViewModel.swift` - [ ] `SodaLive/Sources/Content/All/ContentAllView.swift` @@ -150,6 +151,8 @@ - [ ] `SodaLive/Sources/Content/Category/ContentListCategoryView.swift` - [ ] `SodaLive/Sources/Content/ContentItemView.swift` - [ ] `SodaLive/Sources/Content/ContentListItemView.swift` + +#### Group 2 (11-20) - [ ] `SodaLive/Sources/Content/ContentListView.swift` - [ ] `SodaLive/Sources/Content/ContentPlayManager.swift` - [ ] `SodaLive/Sources/Content/ContentRepository.swift` @@ -160,6 +163,8 @@ - [ ] `SodaLive/Sources/Content/Create/QuarterTimePickerView.swift` - [ ] `SodaLive/Sources/Content/Create/SelectDatePicker.swift` - [ ] `SodaLive/Sources/Content/Curation/ContentCurationView.swift` + +#### Group 3 (21-30) - [ ] `SodaLive/Sources/Content/Curation/ContentCurationViewModel.swift` - [ ] `SodaLive/Sources/Content/Detail/AudioContentDeleteDialogView.swift` - [ ] `SodaLive/Sources/Content/Detail/AudioContentReportDialogView.swift` @@ -170,6 +175,8 @@ - [ ] `SodaLive/Sources/Content/Detail/Comment/AudioContentListReplyViewModel.swift` - [ ] `SodaLive/Sources/Content/Detail/Comment/ContentDetailCommentView.swift` - [ ] `SodaLive/Sources/Content/Detail/ContentDetailInfoLimitedEditionView.swift` + +#### Group 4 (31-40) - [ ] `SodaLive/Sources/Content/Detail/ContentDetailInfoView.swift` - [ ] `SodaLive/Sources/Content/Detail/ContentDetailMenuView.swift` - [ ] `SodaLive/Sources/Content/Detail/ContentDetailMosaicView.swift` @@ -180,6 +187,8 @@ - [ ] `SodaLive/Sources/Content/Detail/ContentDetailView.swift` - [ ] `SodaLive/Sources/Content/Detail/ContentDetailViewModel.swift` - [ ] `SodaLive/Sources/Content/Detail/ContentOrderConfirmDialogView.swift` + +#### Group 5 (41-50) - [ ] `SodaLive/Sources/Content/Detail/ContentOrderDialogView.swift` - [ ] `SodaLive/Sources/Content/Detail/LiveRoomDonationDialogView.swift` - [ ] `SodaLive/Sources/Content/Main/Banner/ContentMainBannerViewModel.swift` @@ -190,6 +199,8 @@ - [ ] `SodaLive/Sources/Content/Playlist/ContentPlaylistItemView.swift` - [ ] `SodaLive/Sources/Content/Playlist/ContentPlaylistListView.swift` - [ ] `SodaLive/Sources/Content/Playlist/ContentPlaylistListViewModel.swift` + +#### Group 6 (51-60) - [ ] `SodaLive/Sources/Content/Playlist/Create/ContentPlaylistCreateView.swift` - [ ] `SodaLive/Sources/Content/Playlist/Create/ContentPlaylistCreateViewModel.swift` - [ ] `SodaLive/Sources/Content/Playlist/Create/PlaylistAddContentItemView.swift` @@ -200,6 +211,8 @@ - [ ] `SodaLive/Sources/Content/Playlist/Detail/PlaylistContentItemView.swift` - [ ] `SodaLive/Sources/Content/Playlist/Modify/ContentPlaylistModifyView.swift` - [ ] `SodaLive/Sources/Content/Playlist/Modify/ContentPlaylistModifyViewModel.swift` + +#### Group 7 (61-70) - [ ] `SodaLive/Sources/Content/Series/Content/SeriesContentAllView.swift` - [ ] `SodaLive/Sources/Content/Series/Content/SeriesContentAllViewModel.swift` - [ ] `SodaLive/Sources/Content/Series/Content/SeriesContentListItemView.swift` @@ -210,6 +223,8 @@ - [ ] `SodaLive/Sources/Content/Series/Detail/SeriesDetailViewModel.swift` - [ ] `SodaLive/Sources/Content/Series/Main/ByGenre/SeriesMainByGenreViewModel.swift` - [ ] `SodaLive/Sources/Content/Series/Main/DayOfWeek/SeriesMainDayOfWeekView.swift` + +#### Group 8 (71-78) - [ ] `SodaLive/Sources/Content/Series/Main/DayOfWeek/SeriesMainDayOfWeekViewModel.swift` - [ ] `SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeView.swift` - [ ] `SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeViewModel.swift` @@ -233,6 +248,7 @@ - [x] `SodaLive/Sources/Dialog/MemberProfileDialog.swift` ### Explorer (40) +#### Group 1 (1-10) - [ ] `SodaLive/Sources/Explorer/ExplorerSectionView.swift` - [ ] `SodaLive/Sources/Explorer/ExplorerView.swift` - [ ] `SodaLive/Sources/Explorer/ExplorerViewModel.swift` @@ -243,6 +259,8 @@ - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/Comment/CreatorCommunityCommentListViewModel.swift` - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/Comment/CreatorCommunityCommentReplyView.swift` - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/Comment/CreatorCommunityCommentReplyViewModel.swift` + +#### Group 2 (11-20) - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/Comment/CreatorCommunityCommentView.swift` - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/CreatorCommunityAllItemLockView.swift` - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/CreatorCommunityAllView.swift` @@ -253,6 +271,8 @@ - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/CreatorCommunityMoreItemView.swift` - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/CreatorCommunityNoPostsItemView.swift` - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/Modify/CreatorCommunityModifyView.swift` + +#### Group 3 (21-30) - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/Modify/CreatorCommunityModifyViewModel.swift` - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/Write/CreatorCommunityRecordingVoiceView.swift` - [ ] `SodaLive/Sources/Explorer/Profile/CreatorCommunity/Write/CreatorCommunitySoundManager.swift` @@ -263,6 +283,8 @@ - [ ] `SodaLive/Sources/Explorer/Profile/FanTalk/UserProfileFanTalkView.swift` - [ ] `SodaLive/Sources/Explorer/Profile/FanTalk/UserProfileFanTalkViewModel.swift` - [ ] `SodaLive/Sources/Explorer/Profile/FollowerList/FollowerListView.swift` + +#### Group 4 (31-40) - [ ] `SodaLive/Sources/Explorer/Profile/Series/UserProfileSeriesView.swift` - [ ] `SodaLive/Sources/Explorer/Profile/UserProfileActivitySummaryView.swift` - [ ] `SodaLive/Sources/Explorer/Profile/UserProfileContentView.swift` @@ -278,6 +300,7 @@ - [x] `SodaLive/Sources/Follow/FollowCreatorView.swift` ### Home (9) +#### Group 1 (1-9) - [ ] `SodaLive/Sources/Home/HomeAuditionView.swift` - [ ] `SodaLive/Sources/Home/HomeCreatorRankingItemView.swift` - [ ] `SodaLive/Sources/Home/HomeLatestContentView.swift` @@ -295,6 +318,7 @@ - [x] `SodaLive/Sources/ImagePicker/ImagePicker.swift` ### Live (56) +#### Group 1 (1-10) - [ ] `SodaLive/Sources/Live/Cancel/LiveCancelDialog.swift` - [ ] `SodaLive/Sources/Live/LatestFinishedLiveItemView.swift` - [ ] `SodaLive/Sources/Live/LiveReplayListView.swift` @@ -305,6 +329,8 @@ - [ ] `SodaLive/Sources/Live/Now/LiveNowItemView.swift` - [ ] `SodaLive/Sources/Live/Now/SectionLiveNowView.swift` - [ ] `SodaLive/Sources/Live/RecommendChannel/SectionRecommendChannelView.swift` + +#### Group 2 (11-20) - [ ] `SodaLive/Sources/Live/Reservation/All/LiveReservationAllItemView.swift` - [ ] `SodaLive/Sources/Live/Reservation/All/LiveReservationAllView.swift` - [ ] `SodaLive/Sources/Live/Reservation/Complete/LiveReservationCompleteView.swift` @@ -315,6 +341,8 @@ - [ ] `SodaLive/Sources/Live/Room/Chat/LiveRoomDonationChatItemView.swift` - [ ] `SodaLive/Sources/Live/Room/Chat/LiveRoomHeartDonationChatItemView.swift` - [ ] `SodaLive/Sources/Live/Room/Chat/LiveRoomJoinChatItemView.swift` + +#### Group 3 (21-30) - [ ] `SodaLive/Sources/Live/Room/Chat/LiveRoomRouletteDonationChatItemView.swift` - [ ] `SodaLive/Sources/Live/Room/Create/LiveRoomCreateView.swift` - [ ] `SodaLive/Sources/Live/Room/Create/Tag/LiveRoomCreateTagView.swift` @@ -325,6 +353,8 @@ - [ ] `SodaLive/Sources/Live/Room/Dialog/LiveRoomDonationMessageItemView.swift` - [ ] `SodaLive/Sources/Live/Room/Dialog/LiveRoomDonationRankingDialog.swift` - [ ] `SodaLive/Sources/Live/Room/Dialog/LiveRoomDonationRankingItemView.swift` + +#### Group 4 (31-40) - [ ] `SodaLive/Sources/Live/Room/Dialog/LiveRoomDonationRankingTotalCanView.swift` - [ ] `SodaLive/Sources/Live/Room/Dialog/LiveRoomHeartRankingDialog.swift` - [ ] `SodaLive/Sources/Live/Room/Dialog/LiveRoomHeartRankingItemView.swift` @@ -335,6 +365,8 @@ - [ ] `SodaLive/Sources/Live/Room/Dialog/LiveRoomProfilesDialogView.swift` - [ ] `SodaLive/Sources/Live/Room/Dialog/LiveRoomUserProfileDialogView.swift` - [ ] `SodaLive/Sources/Live/Room/Edit/LiveRoomEditView.swift` + +#### Group 5 (41-50) - [ ] `SodaLive/Sources/Live/Room/Edit/LiveRoomEditViewModel.swift` - [ ] `SodaLive/Sources/Live/Room/LiveRoomViewModel.swift` - [ ] `SodaLive/Sources/Live/Room/Menu/LiveRoomMenuSelectView.swift` @@ -345,6 +377,8 @@ - [ ] `SodaLive/Sources/Live/Room/Routlette/Config/RouletteSettingsViewModel.swift` - [ ] `SodaLive/Sources/Live/Room/Routlette/RoulettePreviewDialog.swift` - [ ] `SodaLive/Sources/Live/Room/V2/Component/Button/LiveRoomNewChatView.swift` + +#### Group 6 (51-56) - [ ] `SodaLive/Sources/Live/Room/V2/Component/View/LiveRoomInfoGuestView.swift` - [ ] `SodaLive/Sources/Live/Room/V2/Component/View/LiveRoomInfoHostView.swift` - [ ] `SodaLive/Sources/Live/Room/V2/Component/View/LiveRoomInputChatView.swift` @@ -358,6 +392,7 @@ - [x] `SodaLive/Sources/Main/Home/HomeView.swift` ### Message (13) +#### Group 1 (1-10) - [ ] `SodaLive/Sources/Message/MessageFilterTabView.swift` - [ ] `SodaLive/Sources/Message/MessageView.swift` - [ ] `SodaLive/Sources/Message/Text/Detail/TextMessageDetailView.swift` @@ -368,11 +403,14 @@ - [ ] `SodaLive/Sources/Message/Text/Write/TextMessageWriteView.swift` - [ ] `SodaLive/Sources/Message/Voice/SoundManager.swift` - [ ] `SodaLive/Sources/Message/Voice/VoiceMessageItemView.swift` + +#### Group 2 (11-13) - [ ] `SodaLive/Sources/Message/Voice/VoiceMessageView.swift` - [ ] `SodaLive/Sources/Message/Voice/VoiceMessageViewModel.swift` - [ ] `SodaLive/Sources/Message/Voice/Write/VoiceMessageWriteView.swift` ### MyPage (41) +#### Group 1 (1-10) - [ ] `SodaLive/Sources/MyPage/Auth/AuthButtonView.swift` - [ ] `SodaLive/Sources/MyPage/Block/BlockMemberListView.swift` - [ ] `SodaLive/Sources/MyPage/Block/BlockedMemberListItemView.swift` @@ -383,6 +421,8 @@ - [ ] `SodaLive/Sources/MyPage/Can/Payment/CanPaymentView.swift` - [ ] `SodaLive/Sources/MyPage/Can/Payment/CanPaymentViewModel.swift` - [ ] `SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentView.swift` + +#### Group 2 (11-20) - [ ] `SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentViewModel.swift` - [ ] `SodaLive/Sources/MyPage/Can/Payment/Temp/CanPaymentTempView.swift` - [ ] `SodaLive/Sources/MyPage/Can/Payment/Temp/CanPaymentTempViewModel.swift` @@ -393,6 +433,8 @@ - [ ] `SodaLive/Sources/MyPage/MyPageView.swift` - [ ] `SodaLive/Sources/MyPage/MyPageViewModel.swift` - [ ] `SodaLive/Sources/MyPage/OrderList/OrderListAllInnerView.swift` + +#### Group 3 (21-30) - [ ] `SodaLive/Sources/MyPage/OrderList/OrderListAllView.swift` - [ ] `SodaLive/Sources/MyPage/OrderList/OrderListAllViewModel.swift` - [ ] `SodaLive/Sources/MyPage/OrderList/OrderListItemView.swift` @@ -403,6 +445,8 @@ - [ ] `SodaLive/Sources/MyPage/Profile/Nickname/NicknameUpdateView.swift` - [ ] `SodaLive/Sources/MyPage/Profile/Nickname/NicknameUpdateViewModel.swift` - [ ] `SodaLive/Sources/MyPage/Profile/ProfileUpdateView.swift` + +#### Group 4 (31-40) - [ ] `SodaLive/Sources/MyPage/Profile/Tag/MemberTagView.swift` - [ ] `SodaLive/Sources/MyPage/Profile/Tag/MemberTagViewModel.swift` - [ ] `SodaLive/Sources/MyPage/ReservationStatus/Cancel/LiveReservationCancelView.swift` @@ -413,6 +457,8 @@ - [ ] `SodaLive/Sources/MyPage/ServiceCenter/FaqView.swift` - [ ] `SodaLive/Sources/MyPage/ServiceCenter/ServiceCenterButtonView.swift` - [ ] `SodaLive/Sources/MyPage/ServiceCenter/ServiceCenterView.swift` + +#### Group 5 (41-41) - [ ] `SodaLive/Sources/MyPage/ServiceCenter/ServiceCenterViewModel.swift` ### Notification (2) @@ -429,6 +475,7 @@ - [x] `SodaLive/Sources/SearchChannel/SearchChannelView.swift` ### Settings (15) +#### Group 1 (1-10) - [ ] `SodaLive/Sources/Settings/Content/ContentSettingsView.swift` - [ ] `SodaLive/Sources/Settings/Event/EventDetailView.swift` - [ ] `SodaLive/Sources/Settings/Event/EventListView.swift` @@ -439,6 +486,8 @@ - [ ] `SodaLive/Sources/Settings/Notice/NoticeListView.swift` - [ ] `SodaLive/Sources/Settings/Notice/NoticeListViewModel.swift` - [ ] `SodaLive/Sources/Settings/Notification/NotificationSettingsDialog.swift` + +#### Group 2 (11-15) - [ ] `SodaLive/Sources/Settings/Notification/NotificationSettingsView.swift` - [ ] `SodaLive/Sources/Settings/Notification/NotificationSettingsViewModel.swift` - [ ] `SodaLive/Sources/Settings/SettingsView.swift` @@ -446,6 +495,7 @@ - [ ] `SodaLive/Sources/Settings/Terms/TermsViewModel.swift` ### UI (6) +#### Group 1 (1-6) - [ ] `SodaLive/Sources/UI/Component/SelectedButtonView.swift` - [ ] `SodaLive/Sources/UI/Component/SeriesDetailTabView.swift` - [ ] `SodaLive/Sources/UI/Component/SeriesItemBadgeView.swift` @@ -625,3 +675,19 @@ - `PushNotificationListItemView.swift`의 시간 구분자도 `I18n.NotificationList.timestampSeparator`로 이관했다. - `xcodebuild`는 샌드박스 내 캐시/시뮬레이터 접근 제약과 이후 네트워크 차단으로 실패했다. 첫 시도는 workspace 인식 문제와 CoreSimulator 환경 오류가 섞여 있었고, 프로젝트 빌드로 전환한 뒤에는 Swift Package 의존성(`objectbox-swift-spm`)을 GitHub에서 가져오지 못해 중단되었다. - 따라서 이번 턴에서는 정적 치환과 문서 동기화까지 완료했고, 실제 컴파일 성공 여부는 네트워크가 허용되는 환경에서 추가 확인이 필요하다. + +### 10차 계획 보강 (미완료 체크리스트 10개 그룹 재배치, 2026-03-31) +- 무엇/왜/어떻게: + - 무엇: `변경 대상 파일 전체 목록`에서 미완료(`- [ ]`) 항목을 모듈 내부 기준으로 10개 단위 그룹으로 재배치. + - 왜: 모듈 단위 처리 시 파일 수가 큰 구간(`Content`, `Live`, `MyPage` 등)의 작업 분할/추적 난이도를 낮추기 위해. + - 어떻게: 기존 파일 순서를 유지한 채 미완료 항목 구간에 `#### Group N` 헤더를 삽입해 10개 배치 단위로 분할. +- 실행 명령/도구: + - `task(subagent_type="explore", ...)` x2 (`bg_7f47b389`, `bg_6b7f2435`) + - `grep("^- \\[ \\] `SodaLive/Sources/.*\\.swift`$", include=20260331_하드코딩텍스트_I18n통일계획.md, path=docs)` + - `grep("^- \\[x\\] `SodaLive/Sources/.*\\.swift`$", include=20260331_하드코딩텍스트_I18n통일계획.md, path=docs)` + - `grep("^#### Group [0-9]+ \\(", include=20260331_하드코딩텍스트_I18n통일계획.md, path=docs)` + - `read(docs/20260331_하드코딩텍스트_I18n통일계획.md)` +- 결과: + - 그룹 재배치 적용 모듈: `Content(78)`, `Explorer(40)`, `Home(9)`, `Live(56)`, `Message(13)`, `MyPage(41)`, `Settings(15)`, `UI(6)`. + - 총 `#### Group` 헤더 29개를 삽입해 미완료 항목을 10개 단위(마지막 그룹은 잔여 수)로 분할 완료. + - 체크 상태 정합성 유지 확인: 미완료 258개, 완료 71개(기존 총합과 동일).