시리즈

i18n 미사용 키 정리

i18next-cli를 검토하다 포기하고, ts-morph 커스텀 스크립트와 GitHub Actions 주간 자동 PR로 번역 카탈로그를 정리하기까지의 과정

5개의 글

  1. 1.
    v0에서 v1, 번역 키가 쌓일 때 v0에서 v1으로 넘어가면서 미사용 키와 새 키가 동시에 불어난 상황과, 자동 삭제를 시도하기 전에 팀에서 "안전하게 지운다"를 먼저 정의한 과정. April 13, 2026
  2. 2.
    네임스페이스를 상수 객체로 관리하자 react-i18next에서 네임스페이스 문자열을 I18N_KEYS 상수 객체로 관리하는 이유. JSON·i18n.ts와의 정합성, 오타 방지, 그리고 공식 추천 플러그인과의 트레이드오프. April 13, 2026
  3. 3.
    공식 추천 플러그인이 네임스페이스를 통째로 지우려 했다 i18next-parser 아카이브 이후 공식 추천 플러그인 i18next-cli를 검토했지만, I18N_KEYS 간접 참조에서 네임스페이스를 통째로 삭제하려는 실측 오판을 확인하고 커스텀 스크립트로 전환한 과정. April 13, 2026
  4. 4.
    I18N_KEYS를 직접 읽는 스크립트를 만들었다 I18N_KEYS를 진실원으로 삼는 AST 수집기의 설계. namespace 해석, t() 키 수집, 화이트리스트, --apply와 30% 안전 가드까지. April 13, 2026
  5. 5.
    주간 cron이 PR을 올리는 구조를 완성했다 주간 cron으로 미사용 키를 탐지·삭제하고 PR을 자동 생성하는 파이프라인. 안전 가드, 스모크 체크리스트, 향후 모니터링까지. April 13, 2026