Lingo.dev CLI는 구성된 로컬라이제이션 엔진을 통해 웹 앱의 리소스 파일(JSON, YAML, XLIFF, PO, PHP)을 번역합니다. 프레임워크에 i18n을 설정하고, CLI가 번역 파일을 가리키도록 지정한 다음 실행하세요.
작동 방식#
모든 웹 프레임워크에는 리소스 파일에서 번역을 불러오는 i18n 라이브러리가 있습니다. React는 JSON, Angular는 XLIFF, Django는 PO를 사용하는 식입니다. CLI는 이 파일들을 직접 번역하므로 코드 변경 없이도 프레임워크가 번역을 바로 반영합니다.
프레임워크에 i18n 설정하기
프레임워크의 공식 i18n 라이브러리를 사용해 로캘 기반 라우팅, 번역 함수, 소스 언어 리소스 파일을 추가하세요. 아래 각 프레임워크 섹션에서 공식 설정 가이드도 확인할 수 있습니다.
CLI 설정하기
CLI에 번역 파일 위치와 대상 로캘을 알려주는 i18n.json 파일을 생성하세요. 버킷 유형은 프레임워크의 리소스 형식과 맞아야 합니다.
번역 실행하기
npx lingo.dev@latest run을 실행하면 CLI가 로컬라이제이션 엔진을 통해 리소스 파일을 번역합니다. 용어집 규칙, 브랜드 보이스, 모델 선택이 자동으로 적용됩니다.
사전 준비#
CLI를 실행할 때마다 모든 콘텐츠는 로컬라이제이션 엔진을 거칩니다. 이 구성은 어떤 LLM 모델, 용어집, 브랜드 보이스, 지침이 적용될지를 결정합니다. Lingo.dev 대시보드에서 엔진을 만들고 API key를 생성하세요.
AI로 더 빠르게 설정
i18n MCP를 사용하면 프레임워크의 전체 i18n 인프라를 자동으로 스캐폴딩할 수 있습니다. Claude Code, Cursor, GitHub Copilot에 연결한 뒤 "Set up i18n"이라고 프롬프트하면, 에이전트가 13단계 체크리스트에 따라 라우팅, 번역 파일, 언어 전환기까지 구성합니다.
JavaScript 프레임워크#
react-i18next는 JSON 파일에서 번역을 불러오고, 런타임에 키를 번역 문자열에 매핑하는 useTranslation 훅을 제공합니다.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"json": {
"include": ["public/locales/[locale]/translation.json"]
}
}
}서버 사이드 프레임워크#
Laravel은 로캘 디렉터리별로 구성된 PHP 파일에서 번역을 불러오는 내장 로컬라이제이션을 제공합니다.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"php": {
"include": ["lang/[locale]/messages.php"]
}
}
}번역 실행#
i18n.json 설정이 완료되면, 한 번의 명령으로 모든 리소스 파일을 번역할 수 있습니다:
npx lingo.dev@latest runCLI는 소스 로캘 파일을 읽고 lockfile을 사용해 마지막 실행 이후 변경된 내용을 계산한 뒤, 변경된 부분만 번역해 대상 로캘 파일에 기록합니다. 기존 번역은 그대로 유지되며, CLI는 누락되었거나 업데이트가 필요한 문자열만 채웁니다.
일부만 작업할 때는 특정 로캘이나 버킷만 지정해 실행할 수 있습니다:
npx lingo.dev@latest run --target-locale es
npx lingo.dev@latest run --bucket json