Skip to content

Commit a55196a

Browse files
SOIVclaude
andcommitted
docs(roadmap): Phase 2.4 i18n 국제화 시스템 항목 추가
- i18next + react-i18next 기반 아키텍처 결정 기록 - 모듈별 번역 파일 소유 구조 (locales/*.json) - module.json displayName → i18n 키 방식 설계 - 언어 선택 Settings 연동 및 모듈 템플릿 갱신 항목 포함 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 2959c6f commit a55196a

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

docs/v2_FINANCIAL-LEDGER/roadmap/01-development-plan.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,32 @@ Chrome 확장 프로그램의 "새로고침" 방식과 동일하게:
582582
- [ ] 신규 유저 임시 비밀번호 자동 발송 (SMTP 설정 완료 시)
583583
- [ ] SMTP 미설정 시 관리자 수동 발급 안내 UX
584584

585+
#### 2.4 i18n 국제화 시스템
586+
**예상 기간: 1주**
587+
588+
> 초기 지원 언어: 한국어(ko) · 영어(en). 번역 파일 추가만으로 언어를 확장할 수 있는 구조로 설계.
589+
590+
**아키텍처 결정:**
591+
- i18next + react-i18next 기반
592+
- 네임스페이스 분리: `common` (앱 공통 문자열) / 모듈별 네임스페이스 (`ledger`, `subscription` 등)
593+
- **번역 파일 소유권**: 각 모듈이 `modules/{name}/frontend/locales/{lang}.json`을 직접 소유 → 모듈 추가 시 앱 번역 파일 수정 불필요
594+
- 앱 초기화 시 각 모듈의 번역 파일을 i18next에 namespace로 자동 등록
595+
596+
**module.json displayName i18n 연동:**
597+
- `displayName` 값을 i18n 키로 사용: `"ledger:displayName"`
598+
- i18next가 키를 찾지 못하면 `module.name`을 폴백으로 표시 (하위 호환 유지)
599+
- 언어 추가 시 `locales/{lang}.json` 파일만 추가하면 됨 — `module.json` 수정 불필요
600+
601+
**주요 작업:**
602+
- [ ] i18next + react-i18next 도입 및 초기화 설정 (`apps/web/src/i18n/index.ts`)
603+
- [ ] `common` 네임스페이스 번역 파일 작성 — 공통 UI 문자열 (`ko.json` / `en.json`)
604+
- [ ] 모듈 번역 로더 구현 — 앱 초기화 시 각 모듈의 `locales/*.json`을 i18next에 namespace로 등록
605+
- [ ] `module.json` displayName → i18n 키 방식 전환 (`ModuleManifest` 타입 및 AppShell 연동)
606+
- [ ] Settings 화면 언어 선택 실제 연동 (현재 mock 상태 → `i18n.changeLanguage()` + API 저장)
607+
- [ ] 언어 설정 저장: `localStorage` + `PATCH /core/users/me/settings` 연동
608+
- [ ] Ledger 모듈 번역 파일 작성 (`modules/ledger/frontend/locales/ko.json` / `en.json`)
609+
- [ ] 모듈 템플릿에 `locales/` 디렉터리 및 샘플 번역 파일 추가
610+
585611
#### 2.5 통합 및 테스트
586612
**예상 기간: 1주**
587613

0 commit comments

Comments
 (0)