feat(i18n): 오디션 화면 하드코딩 문구를 I18n 키로 통일한다
This commit is contained in:
@@ -95,19 +95,19 @@
|
||||
|
||||
## 변경 대상 파일 전체 목록
|
||||
### Audition (13)
|
||||
- [ ] `SodaLive/Sources/Audition/Applicant/ApplyMethodView.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/Applicant/AuditionApplicantItemView.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/Applicant/AuditionApplicantRecordingView.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/Applicant/AuditionApplyView.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/AuditionItemView.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/AuditionView.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/AuditionViewModel.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/Detail/AuditionDetailView.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/Detail/AuditionDetailViewModel.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/Detail/AuditionSoundManager.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/Role/AuditionDetailRoleItemView.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/Role/AuditionRoleDetailView.swift`
|
||||
- [ ] `SodaLive/Sources/Audition/Role/AuditionRoleDetailViewModel.swift`
|
||||
- [x] `SodaLive/Sources/Audition/Applicant/ApplyMethodView.swift`
|
||||
- [x] `SodaLive/Sources/Audition/Applicant/AuditionApplicantItemView.swift`
|
||||
- [x] `SodaLive/Sources/Audition/Applicant/AuditionApplicantRecordingView.swift`
|
||||
- [x] `SodaLive/Sources/Audition/Applicant/AuditionApplyView.swift`
|
||||
- [x] `SodaLive/Sources/Audition/AuditionItemView.swift`
|
||||
- [x] `SodaLive/Sources/Audition/AuditionView.swift`
|
||||
- [x] `SodaLive/Sources/Audition/AuditionViewModel.swift`
|
||||
- [x] `SodaLive/Sources/Audition/Detail/AuditionDetailView.swift`
|
||||
- [x] `SodaLive/Sources/Audition/Detail/AuditionDetailViewModel.swift`
|
||||
- [x] `SodaLive/Sources/Audition/Detail/AuditionSoundManager.swift`
|
||||
- [x] `SodaLive/Sources/Audition/Role/AuditionDetailRoleItemView.swift`
|
||||
- [x] `SodaLive/Sources/Audition/Role/AuditionRoleDetailView.swift`
|
||||
- [x] `SodaLive/Sources/Audition/Role/AuditionRoleDetailViewModel.swift`
|
||||
|
||||
### Chat (28)
|
||||
- [ ] `SodaLive/Sources/Chat/Character/CharacterItemView.swift`
|
||||
@@ -536,3 +536,26 @@
|
||||
- 내부 로그/채널 prefix/API path/아이콘명/색상코드/Preview 샘플만 가진 29개 파일 추가 제외 완료.
|
||||
- 변경 대상 파일 수 `359 → 330`, 상위 모듈 수 `24 → 21`으로 갱신.
|
||||
- 예외 유지: `Content/Detail/ContentDetailPurchaseButton.swift`는 `"원으로"/"캔으로"` 사용자 노출 텍스트가 있어 유지.
|
||||
|
||||
### 6차 구현 (Audition 모듈 13개 i18n 전환, 2026-03-31)
|
||||
- 무엇/왜/어떻게:
|
||||
- 무엇: 변경 대상 목록의 `Audition` 모듈 13개 파일을 전수 처리해 사용자 노출 하드코딩 문구를 `I18n.*` 참조로 교체.
|
||||
- 왜: Audition 영역의 UI/토스트/다이얼로그/오류 메시지가 하드코딩 상태여서 다국어 일관성이 깨지고 유지보수 비용이 높았기 때문.
|
||||
- 어떻게: explore/librarian/Oracle 병렬 분석 + `grep`/`ast_grep_search` 직접 검증으로 누락 지점을 수집한 뒤, `I18n.swift`에 `I18n.Audition` 네임스페이스를 추가하고 호출부를 모듈 단위로 일괄 치환.
|
||||
- 실행 명령/도구:
|
||||
- `task(subagent_type="explore", ...)` x2 (`bg_f58a087c`, `bg_02b03b28`)
|
||||
- `task(subagent_type="librarian", ...)` x2 (`bg_f62866ac`, `bg_5cd8656b`)
|
||||
- `task(subagent_type="oracle", ...)` x1 (`bg_81c2c04e`)
|
||||
- `grep("\"[^\"]*[가-힣][^\"]*\"", include=*.swift, path=SodaLive/Sources/Audition)`
|
||||
- `ast_grep_search(pattern="Text(\"$TEXT\")", lang=swift, paths=[SodaLive/Sources/Audition])`
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build`
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build`
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" test`
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test`
|
||||
- 결과:
|
||||
- Audition 호출부 치환 완료 파일: `ApplyMethodView`, `AuditionApplicantRecordingView`, `AuditionApplyView`, `AuditionView`, `AuditionViewModel`, `AuditionDetailView`, `AuditionDetailViewModel`, `AuditionSoundManager`, `AuditionDetailRoleItemView`, `AuditionRoleDetailView`, `AuditionRoleDetailViewModel`.
|
||||
- `I18n.swift`에 `I18n.Audition`(List/ApplyMethod/Apply/Recording/Detail/Vote/Sound) 키셋 추가 및 공통 오류는 `I18n.Common.commonError`로 통합.
|
||||
- 녹음 자동 파일명(`voiceon_now_voice_*`)이 사용자에게 그대로 보이던 문제를 `displayFileName` 처리(`I18n.Audition.Apply.recordedVoiceFileName`)로 보정.
|
||||
- Audition 모듈 하드코딩 한글 재검증 결과, 남은 문자열은 Preview 샘플/DEBUG_LOG/서버 메시지 분기 비교(비노출 로직)만 존재.
|
||||
- 빌드 검증: `SodaLive`, `SodaLive-dev` Debug 빌드 모두 성공(`** BUILD SUCCEEDED **`).
|
||||
- 테스트 검증: 두 스킴 모두 `Scheme ... is not currently configured for the test action.`로 테스트 액션 미구성 확인(코드 실패 아님, 스킴 제약).
|
||||
|
||||
Reference in New Issue
Block a user