콘텐츠로 바로 가기
CLI 및 코드 스캐닝

CLI & 코드 스캔: 번역되지 않은 모든 문자열을 자동으로 찾아드립니다

소스 파일에서 하드코딩된 문자열을 일일이 찾는 수고를 덜어드립니다. Better i18n의 CLI는 AST 기반 파싱을 사용하여 전체 코드베이스를 스캔하고, JSX 컴포넌트와 속성에서 번역되지 않은 텍스트를 감지하며, 누락되거나 사용되지 않는 키를 보고하고, CI 파이프라인과 원활하게 통합됩니다.

AST 기반 코드 스캔

오탐을 발생시키는 정규식 기반 스캐너와 달리, Better i18n은 코드를 추상 구문 트리(AST)로 파싱하여 정밀하고 문맥 인식 문자열 감지를 수행합니다.

하드코딩된 문자열 탐지

번역 함수로 감싸이지 않은 모든 사용자 노출 문자열을 자동으로 찾아냅니다. 여기에는 JSX 자식 요소와 컴포넌트 프로퍼티 내의 문자열도 포함됩니다.

AST 기반 구문 분석

소스 코드를 추상 구문 나무(AST)로 파싱하여, 정규 표현식 기반 스캐너에서 발생하는 오탐을 제거하는 정밀하고 문맥을 고려한 탐지를 수행합니다.

JSX 텍스트 노드 스캔

JSX 요소 내의 번역되지 않은 텍스트 콘텐츠를 감지하며, 여기에는 컴포넌트 내에서 직접 렌더링되는 표현식과 템플릿 리터럴도 포함됩니다.

JSX 속성 스캔

수동 i18n 검토 과정에서 종종 간과되는 placeholder, aria-label, title과 같은 JSX 속성 내의 하드코딩된 문자열을 찾아냅니다.

스마트 필터링

CSS 클래스 이름, 임포트 경로, 숫자 리터럴 등 번역할 수 없는 값은 제외하므로, 실제로 조치를 취할 수 있는 결과만 확인할 수 있습니다.

번역 감사를 위한 CLI 명령

check 명령은 대화형의 개발자 친화적인 감사 경험을 제공합니다. 소스 코드에서 사용된 번역 키와 Better i18n 원격에 저장된 키를 비교하여, 번역이 필요한 누락 키와 정리할 수 있는 미사용 키를 모두 표시합니다.

템플릿 리터럴과 같은 동적 키 패턴이 자동으로 감지됩니다. 코드에서 t(`key.${variable}`)를 사용할 때 CLI가 동적 세그먼트를 인식하고 패턴 매칭 보고서에 포함하여, 아무것도 놓치지 않습니다.

  • 단 하나의 검사 명령어로 전체 번역 감사를 실행합니다
  • 코드에는 존재하지만 원격 저장소에는 없는 Surface 번역 키가 누락되었습니다
  • 코드에서 더 이상 참조되지 않는 리모트 스토어의 미사용 키를 식별합니다
  • 템플릿 리터럴과 같은 동적 키 패턴을 감지하고 검토 대상으로 표시합니다
  • 로컬 사용량과 원격 번역 상태 간의 비교 보고서 생성

유연한 출력 형식

스캔 결과는 사용자의 워크플로우에 맞춰 다양한 형식으로 제공됩니다. ESLint 스타일의 출력은 파일, 줄, 열 정보를 포함하여 사람이 읽기 쉬운 보고서를 제공합니다. JSON 출력은 CI/CD 자동화 및 맞춤형 도구 개발을 위해 기계가 읽을 수 있는 데이터를 제공합니다.

상세 모드는 자세한 감사 로그, 스코핑 요약, 타이밍 정보로 심층적인 투명성을 제공합니다. 스캔 통계는 파일 수, 발견 지표, 성능 데이터를 표시하여 번역 커버리지 상태를 항상 파악할 수 있도록 합니다.

ESLint 스타일 출력

모든 에디터에서 빠른 탐색이 가능하도록 파일 경로, 줄 번호, 열 참조가 포함된 사람이 읽기 쉬운 보고서를 제공합니다.

JSON 출력

CI/CD 자동화, 맞춤형 대시보드, 기타 도구와의 통합에 적합한 기계 가독 구조화 데이터를 제공합니다.

상세 모드

디버깅을 위한 스코핑 요약, 타이밍 정보, 네임스페이스 확인 추적이 포함된 자세한 감사 로그를 제공합니다.

스캔 통계

번역 커버리지 상태를 항상 파악할 수 있도록 파일 수, 키 발견 지표, 성능 데이터를 제공합니다.

데브옵스 및 CI/CD 통합

누락된 문자열이 프로덕션에 도달하기 전에 발견할 수 있도록 번역 검사를 기존 개발 파이프라인에 통합합니다.

1

CI 파이프라인 통합

번역되지 않은 문자열이나 누락된 키가 감지되면 빌드를 실패시키는 스캔 단계를 CI 워크플로에 추가합니다.

2

Pre-Commit 훅

각 커밋 전에 스테이징된 파일을 스캔하여 개발의 가장 이른 시점에 번역되지 않은 문자열을 감지합니다.

3

디렉토리 범위 스캔

사용자 대면 콘텐츠가 포함된 코드베이스의 특정 부분만 스캔하기 위해 특정 디렉토리나 파일 패턴을 지정합니다.

4

스코프 인식 분석

어휘 스코프 추적을 통해 번역 네임스페이스를 자동으로 확인하여 각 t() 호출이 올바른 키 세트에 매핑되도록 합니다.

Better i18n CLI: 현지화를 위해 설계된 코드 스캔

Better i18n의 CLI는 AST 기반 코드 스캔과 원격 키 관리를 단일 도구에 결합합니다. 코드베이스에서 하드코딩된 문자열을 스캔하고, 로컬 사용량을 원격 번역 저장소와 비교하며, 번들 크기를 증가시키는 사용되지 않는 키를 감지하고, CI 파이프라인용 보고서를 생성합니다 — 터미널을 벗어나지 않고도 모두 가능합니다.

스코프 인식 스캔

어휘 스코프를 통해 useTranslations 및 getTranslations 호출을 추적하여 각 t() 호출을 올바른 네임스페이스에 자동으로 바인딩합니다.

서버 컴포넌트 지원

Next.js App Router 비동기 서버 컴포넌트를 완전히 지원하므로 서버 코드의 getTranslations 호출이 클라이언트 측 사용과 함께 감지 및 감사됩니다.

Pre-Commit 훅

--staged 플래그를 사용하여 스테이징된 파일에 대해서만 스캔을 실행하면, 워크플로우의 속도를 저하시키지 않으면서도 커밋되기 전에 번역되지 않은 문자열을 미리 파악할 수 있습니다.

누락 없이 번역 배포하기

Better i18n의 CLI가 코드를 스캔하고 번역되지 않은 모든 문자열을 감지하여 CI 파이프라인에 통합되므로, 번역 없이 프로덕션에 배포되는 일이 없습니다.