Next.js 기반 서비스의 i18n 적용을 위해 AST 기반의 자동화 스크립트를 개발함
Babel 라이브러리를 활용하여 한글 텍스트를 찾아 t 함수로 자동 래핑
수작업 대비 획기적인 시간 단축, 특정 도메인 번역을 5시간 만에 완료
AST(Abstract Syntax Tree)를 활용하여 코드 구조를 분석하고, Babel 라이브러리로 한글 텍스트를 찾아 t 함수로 래핑한다. 구체적으로, StringLiteral, JSXText, TemplateLiteral 등 다양한 형태의 텍스트를 처리한다. 따라서 개발자는 수동 작업 없이 i18n을 적용할 수 있다.
자동화 스크립트는 개발 생산성을 크게 향상시키지만, AST 분석 과정에서 예외 상황 발생 가능성이 존재한다. 한글 키 방식 채택으로 직관성을 높였지만, 키 중복 및 원본 텍스트 변경 시 수정 필요하다. 반면, 자동화된 변환 프로세스는 i18n 적용 시간을 획기적으로 단축시킨다.
자동화 스크립트 적용 시, i18n-automation.config.yaml 파일을 통해 레포지토리별 설정을 구성한다. T Wrapper와 Extractor를 활용하여 번역 래핑 및 언어 자원 파일 생성을 자동화한다. 따라서, 자동화된 프로세스를 통해 i18n 적용 및 유지보수 효율성을 높일 수 있다.