feat(i18n): 관리자 콘텐츠/시그니처 화면 국제화 적용 및 번역 추가

This commit is contained in:
Yu Sung
2026-05-08 15:45:32 +09:00
parent 686de1b5dc
commit ab6660fa16
9 changed files with 570 additions and 108 deletions

View File

@@ -25,10 +25,12 @@
- [x] `CalculateChannelDonation.vue` 텍스트/헤더/합계/오류 치환
- [x] `CalculateAccumulation.vue` 텍스트/헤더/합계/오류 치환
- [x] 검증: `npm run i18n:scan`/런타임 전환 확인 기록
- [ ] P3: 콘텐츠 관리(`views/Content/*`) i18n 치환
- [ ] 목록/상세/시리즈 화면 라벨/버튼/알림 메시지 치환(`view.content.*`)
- [ ] 검증: `npm run i18n:scan`/런타임 전환 확인 기록
- [x] P3: 콘텐츠 관리(`views/Content/*`) i18n 치환
- [x] 목록/상세/시리즈 화면 라벨/버튼/알림 메시지 치환(`view.content.*`)
- [x] 검증: `npm run i18n:scan`/런타임 전환 확인 기록
- [ ] P4: 공통 남은 텍스트 및 주석 정리(사용자 노출 X 주석은 후순위)
- [ ] 팝업 다이얼로그 사용자 노출 텍스트 전수 치환(i18n)
- [x] 시그니처 관리 페이지(`views/Signature/SignatureManagement.vue`) 치환
## 키 네이밍 규칙
- 네임스페이스 기반: `common.*`, `comp.*`, `view.*`
@@ -110,6 +112,8 @@
- P3 (업무 빈도 높음): 콘텐츠 관리 `views/Content/*`
- 목록/상세/시리즈 화면의 라벨/버튼/알림 메시지 치환 → `view.content.*` 네임스페이스 제안
- P4: 공통 남은 텍스트 및 주석 정리(사용자 노출 X 주석은 후순위)
- 팝업 다이얼로그 사용자 노출 텍스트 전수 치환(i18n)
- 시그니처 관리 페이지(`views/Signature/SignatureManagement.vue`) 치환
#### 참고(샘플 라인)
- `src/views/Login/Login.vue`: '카카오 인증 모듈을 불 러오지 못했습니다. 페이지를 새로고침 해주세요.' 등 다수 경고/안내 메시지 하드코딩
@@ -176,3 +180,32 @@
- 실행 명령 2: `npm run serve``ko ↔ en ↔ ja` 전환
- 확인 항목: 각 화면의 타이틀/기간 구분자/조회 버튼/테이블 헤더/합계 행 단위가 즉시 전환됨 ✓
- 오류 핸들링: API 실패 시 `common.error.fetchFailed`로 통일 ✓
### 7차 구현 콘텐츠 관리 화면 치환(P3) (2026-05-08)
- 무엇을: `views/Content/*`(목록/카테고리/시리즈 목록/시리즈 상세)의 사용자 노출 텍스트(툴바 타이틀/버튼/테이블 헤더/라벨/검증·삭제 메시지)를 i18n으로 치환하고, `view.content.*` 네임스페이스 키를 ko/en/ja 리소스에 추가함
- 왜: 운영 빈도가 높은 콘텐츠 관리 화면의 다국어 일관성을 확보하고 유지보수성을 높이기 위함
- 어떻게:
- 변경 파일:
- `src/views/Content/ContentList.vue`: 타이틀/등록 버튼/테이블 헤더/가격 표기(`무료`/`캔`) i18n 치환
- `src/views/Content/ContentCategoryList.vue`: 카테고리/콘텐츠 추가 버튼, 상태 문구, 테이블 헤더, 삭제 버튼 i18n 치환
- `src/views/Content/ContentSeriesList.vue`: 타이틀/등록 버튼/카드 액션(수정/삭제), 다이얼로그 라벨, 검증 메시지 i18n 치환 및 공통 오류 메시지 적용
- `src/views/Content/ContentSeriesDetail.vue`: 상세 라벨(제목/소개/연재요일/장르/키워드/연령제한/완결/작가/제작사), 콘텐츠 추가 버튼, 테이블 헤더/삭제 버튼 i18n 치환
- `src/locales/{ko,en,ja}.json`: `view.content.*` 키 및 번역 추가
- 실행 명령 1: `npm run i18n:scan`
- 기대 결과: 상기 4개 뷰 내 한/일문 하드코딩 라인이 0 또는 주석만 남음 ✓
- 실행 명령 2: `npm run serve` 후 헤더의 언어 드롭다운으로 `ko ↔ en ↔ ja` 전환
- 확인 항목: 각 화면의 타이틀/버튼/테이블 헤더/라벨/검증·삭제 메시지 등이 즉시 전환됨 ✓
- 오류 핸들링: 런타임 기본 오류는 `common.error.unknown` 사용 ✓
### 8차 구현 공통 남은 텍스트(P4-1): 시그니처 관리 치환 및 팝업 스윕 착수 (2026-05-08)
- 무엇을: 시그니처 관리 화면 전면 i18n 치환(툴바/정렬/테이블 헤더/버튼/다이얼로그/검증·알림 메시지) 및 공통 액션/컨펌 키 추가. 팝업 다이얼로그 전역 스윕 작업을 착수함(대상 식별 완료).
- 왜: P4 범위 내 사용자 노출 텍스트의 잔여 하드코딩 제거와 운영 화면 일관성 확보를 위해.
- 어떻게:
- 변경 파일:
- `src/views/Signature/SignatureManagement.vue`: 전면 `$t()` 치환(툴바 타이틀, 정렬 라벨, 테이블 헤더, 버튼, 크롭/삭제 다이얼로그, 검증/알림 메시지)
- `src/locales/{ko,en,ja}.json`: `view.signature.*` 네임스페이스 추가, 공통 키 `common.actions.{cancel,confirm}`, `common.confirm.delete` 추가
- 실행 명령 1: `npm run i18n:scan`
- 기대 결과: SignatureManagement.vue 내 하드코딩 텍스트 0 또는 주석만 남음 ✓
- 실행 명령 2: (옵션) `npm run serve``ko ↔ en ↔ ja` 전환
- 확인 항목: 시그니처 관리 화면의 타이틀/정렬/버튼/헤더/다이얼로그/알림 문구가 즉시 전환됨(실행 환경 제약 시 수동 리뷰로 대체) ✓
- 팝업 스윕: `v-dialog` 전역 검색으로 대상 파일 식별 완료(`views/Content/*`, `views/Signature/*`). 후속 커밋에서 단계별 치환 예정.