/i18nexus-tools/i18n-wrapper
🔧

i18n-wrapper

한국어 텍스트를 자동으로 t()로 감싸고 import를 추가합니다

개요

i18n-wrapper는 코드에서 하드코딩된 한국어 텍스트를 자동으로 감지하여 t() 함수로 래핑하고, 필요한 import 문을 추가하는 CLI 도구입니다.

JSX 요소 내 한국어 텍스트 자동 감지
문자열 리터럴 및 템플릿 리터럴 지원
이미 래핑된 텍스트 자동 건너뛰기
useTranslation import 자동 추가
코드 포매팅 보존

설치

전역 설치 (권장):

npm install -g i18nexus-tools

또는 npx로 직접 실행:

npx i18n-wrapper

기본 사용법

전체 앱 디렉토리 처리

npx i18n-wrapper --pattern "app/**/*.tsx"

app 디렉토리 내 모든 .tsx 파일에서 한국어 텍스트를 래핑합니다.

미리보기 모드

npx i18n-wrapper --dry-run

파일을 수정하지 않고 어떤 변경사항이 있을지 미리 확인합니다.

특정 파일만 처리

npx i18n-wrapper --pattern "app/page.tsx"

단일 파일만 처리합니다.

변환 예제

이전

export default function Welcome() {
  return (
    <div>
      <h1>환영합니다</h1>
      <p>i18nexus 사용법</p>
      <button>시작하기</button>
    </div>
  );
}

이후

import { useTranslation } from "i18nexus";

export default function Welcome() {
  const { t } = useTranslation();
  return (
    <div>
      <h1>{t("환영합니다")}</h1>
      <p>{t("i18nexus 사용법")}</p>
      <button>{t("시작하기")}</button>
    </div>
  );
}

복잡한 예제

이전:

const title = "제목";
const msg = \`안녕하세요 \${name}님\`;

return (
  <div title="툴팁 텍스트">
    <p>{"문자열"}</p>
  </div>
);

이후:

const { t } = useTranslation();
const title = t("제목");
const msg = t(\`안녕하세요 \${name}님\`);

return (
  <div title={t("툴팁 텍스트")}>
    <p>{t("문자열")}</p>
  </div>
);

명령어 옵션

--pattern, -p문자열

처리할 파일의 glob 패턴을 지정합니다.

--pattern "app/**/*.{ts,tsx}"
--dry-run플래그

실제로 파일을 수정하지 않고 변경사항만 미리 확인합니다.

--help, -h플래그

도움말 메시지를 표시합니다.

스마트 감지 기능

자동으로 처리되는 경우:

  • JSX 텍스트 노드
    <div>한국어 텍스트</div> → <div>{t("한국어 텍스트")}</div>
  • JSX 속성값
    <div title="제목"> → <div title={t("제목")}>
  • 문자열 리터럴
    const text = "안녕"; → const text = t("안녕");
  • 템플릿 리터럴
    const msg = \`안녕 \${name}\`; → const msg = t(\`안녕 \${name}\`);

자동으로 건너뛰는 경우:

  • 이미 t()로 래핑된 텍스트
  • 영어만 포함된 텍스트
  • 숫자나 특수문자만 포함된 텍스트
  • 주석 내부의 텍스트

모범 사례

먼저 dry-run으로 확인하기

실제 파일을 수정하기 전에 --dry-run 옵션으로 변경사항을 미리 확인하세요.

npx i18n-wrapper --dry-run

버전 관리 시스템 사용

Git 등의 버전 관리를 사용하여 변경사항을 되돌릴 수 있도록 준비하세요.

작은 범위부터 시작

처음에는 단일 파일이나 작은 디렉토리부터 시작하여 결과를 확인하세요.

수동 검토 필요

자동 변환 후에는 항상 변경된 파일들을 검토하여 의도하지 않은 변경이 없는지 확인하세요.

다음 단계

i18n-wrapper - i18nexus Tools Documentation