작동 방식
Lingo.dev 컴파일러는 지능적인 코드 분석과 AI 기반 번역을 통해 빌드 시점에 React 앱 현지화를 자동화합니다.
빌드 프로세스를 실행하면 컴파일러는 소스 코드를 변경하지 않고도 앱을 다국어로 만들기 위해 다음 단계를 수행합니다:
1. AST 분석
Lingo.dev 컴파일러는 React 코드의 추상 구문 트리(AST)를 처리하여 번역 가능한 콘텐츠를 결정적으로 식별합니다. 다음 항목을 분석합니다:
- JSX 텍스트 콘텐츠 및 속성
- React 컴포넌트 내의 문자열 리터럴 (문자열 리터럴 지원은 곧 제공될 예정입니다.)
- 동적 콘텐츠 패턴
컴파일러는 React 컴포넌트 경계를 이해하고 정확한 번역을 위한 맥락 정보를 유지합니다.
2. 콘텐츠 추출
컴파일러는 다음을 보존하면서 번역 가능한 문자열을 추출합니다:
- 컴포넌트 계층 구조 및 컨텍스트
- props 및 state와 같은 React 특정 패턴
- 코드 구조 및 형식
사람이 읽을 수 있는 콘텐츠만 추출됩니다. 기술적 식별자, 코드 스니펫 및 번역 불가능한 요소는 자동으로 필터링됩니다.
3. 지문 생성 및 버전 관리
콘텐츠 지문 생성은 효율적인 번역 관리를 보장합니다:
- MD5 해싱으로 고유한 콘텐츠 지문 생성
- 버전 관리된 사전이
lingo/디렉토리에서 변경 사항 추적 - Git 통합으로 번역 이력 유지
- 델타 처리로 새로운 콘텐츠나 수정된 콘텐츠만 번역
이 접근 방식은 번역 비용을 최소화하고 빌드 전반에 걸쳐 일관성을 유지합니다.
4. AI 번역
번역은 맥락을 이해하는 AI 모델을 통해 이루어집니다:
- AI 모델 통합은 Lingo.dev 엔진 또는 지원되는 LLM 제공업체 중 하나를 통해 빠르고 고품질의 번역 제공
- 맥락적 경계는 AI가 컴포넌트 관계를 이해하는 데 도움
- 전체 애플리케이션에 걸친 일관된 용어
- 최적의 성능을 위한 배치 처리
컴파일러는 번역이 UI 컴포넌트 내에 자연스럽게 맞도록 맥락 정보를 전송합니다.
5. 코드 주입
번역은 소스 파일을 수정하지 않고 빌드에 다시 주입됩니다:
- 빌드 타임 처리로 현지화된 버전 생성
- 프레임워크 통합은 Next.js, Vite 및 React Router와 함께 작동
- 최적화된 번들로 로케일별 사전 로딩 지원
- 런타임 효율성은 사전 컴파일된 번역을 통해 구현
그 결과 최소한의 런타임 오버헤드로 프로덕션 준비가 완료된 다국어 React 앱을 얻을 수 있습니다.
프레임워크 통합
Next.js 앱 라우터
컴파일러는 구성 시스템을 통해 Next.js와 통합됩니다:
// next.config.js
export default lingoCompiler.next(config)(nextConfig);
- 서버 컴포넌트는 빌드 시점에 처리됨
- 클라이언트 컴포넌트는 최적화된 번역 번들을 받음
- 자동 라우팅은 로케일 기반 URL 지원
React Router / Remix
Vite 플러그인 아키텍처를 통한 통합:
// vite.config.ts
export default lingoCompiler.vite(config)(viteConfig);
- 서버 사이드 렌더링은 사전 로드된 사전으로 구현
- 클라이언트 사이드 하이드레이션은 번역 상태 유지
- 라우트 기반 코드 분할에 번역 번들 포함
Vite
직접적인 Vite 플러그인 통합:
// vite.config.ts
export default lingoCompiler.vite(config)(viteConfig);
- 핫 모듈 교체로 개발 중 번역 업데이트
- 빌드 최적화로 최소한의 프로덕션 번들 생성
- 자산 처리로 번역 파일 효율적 관리
개발 워크플로우
- 자연어 텍스트를 사용하여 React 컴포넌트 작성
- 개발 서버 실행 - 컴파일러가 콘텐츠를 추출하고 번역
- 생성된
lingo/디렉토리에서 번역 검토 - 버전 관리에 번역 파일 커밋
- 내장된 다국어 지원으로 배포
프로덕션 이점
- 런타임 비용 제로 - 번역은 사전 컴파일됨
- 최적의 번들 크기 - 사용된 번역만 포함
- SEO 친화적 - 적절한 로케일별 렌더링
- 일관된 UX - 전문적인 번역 품질
컴파일러는 원래 개발 워크플로우를 유지하면서 각 지원 언어에 맞게 네이티브하게 구축된 것처럼 느껴지는 프로덕션 앱을 생성합니다.
LLM 제공업체
옵션 1. Lingo.dev 엔진
Lingo.dev 컴파일러는 AI 번역 엔진으로 Lingo.dev 엔진을 사용할 수 있습니다.
이 엔진은 동적 모델 선택, 각 언어 쌍에 대한 다양한 모델로의 자동 라우팅, 자동 모델 폴백, 이전 번역을 고려하는 번역 메모리, 그리고 프로젝트의 도메인별 용어를 위한 용어집 지원을 제공합니다. 무료 및 유료 옵션이 모두 있으며, 무료 Hobby 티어는 대부분의 프로젝트에 충분할 것입니다.
인증하려면 다음을 실행하세요:
npx lingo.dev@latest login
Lingo.dev 엔진을 제공업체로 구성하세요. 예를 들어 Next.js의 경우:
lingoCompiler.next({
sourceLocale: "en",
targetLocales: ["es", "fr", "de"],
models: "lingo.dev",
})(nextConfig);
중요 사항. Brave 브라우저를 사용하거나 브라우저 확장 프로그램이 인증 흐름을 차단하는 경우, .env 파일에 LINGODOTDEV_API_KEY 환경 변수를 추가하여 수동으로 인증할 수 있습니다:
LINGODOTDEV_API_KEY=...
옵션 2. 대체 LLM 제공업체
컴파일러는 다음 LLM 제공업체를 지원합니다:
선택한 LLM 제공업체에서 계정을 생성하고 API 키를 검색하여 구성해야 합니다.
참고: 컴파일러에서 사용하기 전에 LLM 제공업체에서 계정을 활성화하고 서비스 약관에 동의해야 합니다. LLM 제공업체는 모든 단계를 완료하기 전에 플랫폼 사용을 방지할 수 있습니다. 단계는 각 LLM 제공업체마다 다를 수 있습니다.
선택한 LLM 제공업체를 구성하세요. 예를 들어 Next.js 앱에서 Groq를 사용하려면:
lingoCompiler.next({
sourceLocale: "en",
targetLocales: ["es", "fr", "de"],
models: {
"*:*": "groq:qwen/qwen3-32b", // GROQ
// "*:*": "google:gemini-2.0-flash", // Google AI
// "*:*": "openrouter:mistralai/mistral-small-24b-instruct-2501", // OpenRouter
// "*:*": "ollama:mistral-small3.1", // Ollama
// "*:*": "mistral:mistral-small-latest", // Mistral
},
})(nextConfig);
구성된 LLM 제공업체의 API 키를 환경에 추가하세요:
# .env
GROQ_API_KEY=gsk_...
GOOGLE_API_KEY=...
OPENROUTER_API_KEY=...
MISTRAL_API_KEY=...
더 많은 LLM을 지원하고 싶습니다 - 저희와 대화하세요 또는 풀 리퀘스트를 보내주세요!
다음 단계
- 프레임워크 통합: Next.js, React Router, Vite
- 고급 구성: 커스터마이징 옵션
- FAQ: 일반적인 질문 및 문제 해결