사람도 AI도 놓친 번역 누락, ESLint 플러그인을 만들어 해결하기
15
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
이 게시물은 배달의민족 커머스 웹프론트에서 다국어 문구 번역을 위해 i18next/react-i18next 기반 커스텀 라이브러리 @lib/i18n과 번역 컨벤션을 수립했으나, AI 검수만으로는 번역 누락·오역과 코드 품질 저하가 발생해 이를 ESLint 커스텀 플러그인으로 해결한 경험을 공유합니다. 사람과 LLM의 검수 한계로 미탐·오탐이 생기며, 복잡한 컨벤션을 지속적으로 강제하기 어려웠다고 설명합니다. 해결 전략으로는 자연어 교정은 AI에 맡기고 위반 탐지는 결정론적 정적 분석인 린트로 분리하는 하이브리드 접근을 제시합니다. 커스텀 린트 플러그인은 TypeScript AST를 순회하며 “사용자 노출 가능 문자열”을 번역 API(t 계열, 계열)로 감싸도록 no-literal-string 규칙을 구현합니다. 또한 수량/순서 문구에서 일반형(t) 대신 기수형·서수형(tCardinal/tOrdinal)을 쓰도록 prefer-plural 규칙을 휴리스틱 키워드 매칭으로 검출하고, 오탐은 부분 비활성화로 대응했다고 정리합니다. 마지막으로 규칙들을 엄격한 초기 설정-점진적 개선-세밀한 옵션-상세 에러 메시지 및 AI 주도 교정 사이클로 발전시켰다고 말합니다.
