Skip to content

refactor(i18n): lib 레이어 에러 메시지 i18n 처리 검토 #286

Description

@amondnet

배경

PR #284 (feat(auth)) 리뷰에서 CodeRabbit이 lib 레이어(src/lib/github-app.ts, src/lib/app-auth.ts)에서 던지는 사용자 노출 에러 메시지가 영어 하드코딩이라 ko 로케일에서도 영어로 출력된다는 점을 지적했습니다 (스레드: login.ts:50, github-app.ts:107, i18n.ts:425).

현재 상태 (decline 사유)

이 저장소의 기존 컨벤션은 다음과 같습니다:

  • lib 레이어(github-api.ts, github-graphql.ts 등)는 진단용 Error 메시지를 영어로 던진다.
  • 명령 레이어(src/commands/**)가 errorPrefix와 진행/성공 메시지를 i18n으로 처리한다.

auth 모듈도 동일 컨벤션을 따랐으며(명령 레이어 진행/성공 메시지는 ko/en 모두 처리), auth만 lib 에러를 i18n으로 바꾸면 오히려 저장소 내 일관성이 깨집니다. 따라서 PR #284에서는 적용하지 않고 별도 이슈로 분리합니다.

제안 (별도 검토)

저장소 전반에 걸쳐 lib 레이어 에러 처리 전략을 통일:

  • 옵션 A: lib에서 구조화된 에러 코드/키를 반환하고 명령 레이어에서 getXxxMessages()로 매핑
  • 옵션 B: 현행 유지(영어 진단 메시지 + 명령 레이어 i18n prefix)를 공식 컨벤션으로 문서화

auth 모듈만이 아니라 github-api.ts / github-graphql.ts 등 전체에 일괄 적용해야 일관성이 유지됩니다.

참고

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions