refactor(i18n): alert/confirm/aria-label 하드코딩 한글 제거 #69

병합
htlee refactor/i18n-alert-aria-confirm 에서 develop 로 2 commits 를 머지했습니다 2026-04-16 16:33:22 +09:00
소유자

변경 사항

구조 정비 3단계 리팩토링 PR #B — i18n 하드코딩 한글 제거 (alert/confirm/aria-label 최우선).

번역 리소스 확장

  • common.jsonaria (36키) / error (7키) / dialog (4키) / success (2키) / message (5키) 네임스페이스 추가
  • ko / en 대칭 구조, 총 54개 공통 키

alert / confirm 11건 치환

  • parent-inference/: ParentReview · LabelSession · ParentExclusion
  • admin/: PermissionsPanel · UserRoleAssignDialog · AccessControl

aria-label 한글 40+건 치환 (WCAG 2.1 Level A 위반 해소)

  • parent-inference/ — group_key / sub_cluster / 정답 parent MMSI / 스코프 필터 / 상태 필터
  • admin/ — 역할 코드 · 이름, 알림 제목 · 내용, 시작 · 종료일, 코드 검색, 대분류 필터, 수신 현황 기준일
  • detection/ — 그룹 유형 · 해역 필터, 관심영역 선택, 필터 설정/초기화, 최소·최대 멤버 수, 미니맵/재생 닫기
  • enforcement/ — 확인 · 선박 상세 · 단속 등록 · 오탐 처리
  • vessel/statistics/ai-operations/ — 조회 시작 · 종료 시각, 업로드 패널 닫기, 전송, 예시 URL 복사

MainLayout 언어 토글 정비

  • title={language === 'ko' ? 'Switch to English' : '한국어로 전환'}title={t('message.switchToEnglish')}
  • 토글 버튼에 aria-label={t('aria.languageToggle')} 추가

범위 외 (후속 PR #C 에서 처리)

  • JSX placeholder/텍스트 한글 35건 — 디자인 시스템 치환 시 같은 파일을 건드리므로 동시 처리 예정

관련 이슈

  • 3단계 리팩토링 계획 중 PR #B. PR #A (iran + 백엔드 계층 + 카탈로그) 머지 이후 단계

테스트

  • npx tsc --noEmit 0 errors
  • npx eslint . 0 warnings
  • pre-commit hook 통과
  • 배포 후 ko/en 토글 샘플 5건 선택 언어 출력 확인
  • axe DevTools aria 위반 0건 확인 (주요 페이지 admin/detection/parent-inference)
  • grep -rE "alert\('[가-힣]" frontend/src 0건 (MainLayout 언어 토글 특수 케이스 제외)
## 변경 사항 **구조 정비 3단계 리팩토링 PR #B** — i18n 하드코딩 한글 제거 (alert/confirm/aria-label 최우선). ### 번역 리소스 확장 - `common.json` 에 `aria` (36키) / `error` (7키) / `dialog` (4키) / `success` (2키) / `message` (5키) 네임스페이스 추가 - ko / en 대칭 구조, 총 54개 공통 키 ### alert / confirm 11건 치환 - `parent-inference/`: ParentReview · LabelSession · ParentExclusion - `admin/`: PermissionsPanel · UserRoleAssignDialog · AccessControl ### aria-label 한글 40+건 치환 (WCAG 2.1 Level A 위반 해소) - `parent-inference/` — group_key / sub_cluster / 정답 parent MMSI / 스코프 필터 / 상태 필터 - `admin/` — 역할 코드 · 이름, 알림 제목 · 내용, 시작 · 종료일, 코드 검색, 대분류 필터, 수신 현황 기준일 - `detection/` — 그룹 유형 · 해역 필터, 관심영역 선택, 필터 설정/초기화, 최소·최대 멤버 수, 미니맵/재생 닫기 - `enforcement/` — 확인 · 선박 상세 · 단속 등록 · 오탐 처리 - `vessel/statistics/ai-operations/` — 조회 시작 · 종료 시각, 업로드 패널 닫기, 전송, 예시 URL 복사 ### MainLayout 언어 토글 정비 - `title={language === 'ko' ? 'Switch to English' : '한국어로 전환'}` → `title={t('message.switchToEnglish')}` - 토글 버튼에 `aria-label={t('aria.languageToggle')}` 추가 ### 범위 외 (후속 PR #C 에서 처리) - JSX placeholder/텍스트 한글 35건 — 디자인 시스템 치환 시 같은 파일을 건드리므로 동시 처리 예정 ## 관련 이슈 - 3단계 리팩토링 계획 중 PR #B. PR #A (iran + 백엔드 계층 + 카탈로그) 머지 이후 단계 ## 테스트 - [x] `npx tsc --noEmit` 0 errors - [x] `npx eslint .` 0 warnings - [x] pre-commit hook 통과 - [ ] 배포 후 ko/en 토글 샘플 5건 선택 언어 출력 확인 - [ ] axe DevTools aria 위반 0건 확인 (주요 페이지 admin/detection/parent-inference) - [ ] `grep -rE "alert\('[가-힣]" frontend/src` 0건 (MainLayout 언어 토글 특수 케이스 제외)
htlee added 2 commits 2026-04-16 16:33:12 +09:00
공통 번역 리소스 확장:
- common.json 에 aria / error / dialog / success / message 네임스페이스 추가
- ko/en 양쪽 동일 구조 유지 (aria 36 키 + error 7 키 + dialog 4 키 + message 5 키)

alert/confirm 11건 → t() 치환:
- parent-inference: ParentReview / LabelSession / ParentExclusion
- admin: PermissionsPanel / UserRoleAssignDialog / AccessControl

aria-label 한글 40+건 → t() 치환:
- parent-inference (group_key/sub_cluster/정답 parent MMSI/스코프 필터 등)
- admin (역할 코드/이름, 알림 제목/내용, 시작일/종료일, 코드 검색, 대분류 필터, 수신 현황 기준일)
- detection (그룹 유형/해역 필터, 관심영역, 필터 설정/초기화, 멤버 수, 미니맵/재생 닫기)
- enforcement (확인/선박 상세/단속 등록/오탐 처리)
- vessel/statistics/ai-operations (조회 시작/종료 시각, 업로드 패널 닫기, 전송, 예시 URL 복사)
- 공통 컴포넌트 (SearchInput, NotificationBanner)

MainLayout 언어 토글:
- title 삼항분기 → t('message.switchToEnglish'/'switchToKorean')
- aria-label="페이지 내 검색" → t('aria.searchInPage')
- 토글 버튼 자체에 aria-label={t('aria.languageToggle')} 추가
claude-bot 이 변경사항을 승인하였습니다. 2026-04-16 16:33:21 +09:00
claude-bot left a comment
멤버

MR 승인 (via /mr skill) — PR #B i18n 정비

MR 승인 (via /mr skill) — PR #B i18n 정비
htlee merged commit 2c23049c8e into develop 2026-04-16 16:33:22 +09:00
htlee 삭제된 브랜치 refactor/i18n-alert-aria-confirm 2026-04-16 16:33:23 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 2명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

의존성

No dependencies set.

Reference: gc/kcg-ai-monitoring#69
No description provided.