기존 번역 작업하기
Lingo.dev CLI는 이미 번역 파일이 있는 프로젝트와 원활하게 통합되어 기존 작업을 보존하면서 누락된 번역을 채워줍니다.
기존 번역이 있는 프로젝트에서 CLI를 실행하면, 이미 번역된 내용을 분석하고 누락된 키에 대해서만 콘텐츠를 생성하여 기존 번역의 품질과 일관성을 유지합니다.
참고: 대상 언어 파일이 비어 있고 소스 언어 콘텐츠를 포함하지 않도록 하세요. 대상 파일에 소스 언어 콘텐츠가 있는 것은 나쁜 관행이며 번역 프로세스를 방해할 수 있습니다.
작동 방식
Lingo.dev CLI는 소스 콘텐츠와 기존 대상 파일을 비교하여 차이점을 식별합니다. 누락된 번역만 생성되고 기존 작업은 그대로 유지됩니다.
예시 시나리오:
// locales/en.json (소스)
{
"welcome": "Welcome to our app",
"button.save": "Save",
"button.cancel": "Cancel",
"error.network": "Network error"
}
// locales/es.json (기존 부분 번역)
{
"welcome": "Bienvenido a nuestra aplicación",
"button.save": "Guardar"
}
npx lingo.dev@latest i18n
을 실행하면 누락된 번역만 생성됩니다:
// locales/es.json (CLI 실행 후)
{
"welcome": "Bienvenido a nuestra aplicación",
"button.save": "Guardar",
"button.cancel": "Cancelar",
"error.network": "Error de red"
}
기존의 "welcome"과 "button.save" 번역은 변경되지 않고 그대로 유지됩니다.
기존 번역으로 첫 실행
기존 번역이 있는 프로젝트에서 Lingo.dev CLI를 처음 실행하면, 현재 상태를 기반으로 i18n.lock
파일을 생성합니다. 이 잠금 파일은 처리된 콘텐츠를 추적하여 기존 번역이 재생성되지 않도록 합니다.
워크플로우:
- 초기 스캔 — CLI가 대상 파일에서 기존 번역을 식별합니다
- 차이 분석 — 소스 키와 대상 파일을 비교하여 누락된 번역을 찾습니다
- 번역 생성 — 누락된 번역만 생성합니다
- 잠금 파일 생성 — 모든 소스 콘텐츠에 대한 콘텐츠 지문을 기록합니다
레거시 번역 시스템에서 마이그레이션
Lingo.dev CLI는 JSON, YAML 또는 기타 지원되는 파일 형식과 같은 표준 형식을 따르는 한 모든 도구로 생성된 번역 파일과 함께 작동합니다.
마이그레이션 단계:
- i18n.json 구성 — 기존 파일 위치와 일치하도록 버킷 패턴 설정
- 초기 번역 실행 — CLI가 누락된 번역을 채움
- 검토 및 커밋 — 기존 번역은 보존되고 누락된 부분만 채워짐
마이그레이션 예시:
// 기존 프로젝트 구조
locales/
en.json (소스)
es.json (이전 도구에서의 부분 번역)
fr.json (이전 도구에서의 부분 번역)
// i18n.json 구성
{
"locale": {
"source": "en",
"targets": ["es", "fr"]
},
"buckets": {
"json": {
"include": ["locales/[locale].json"]
}
}
}
CLI는 기존 파일 구조와 번역을 존중합니다.
번역 품질 처리
기존 번역은 AI 번역 엔진으로 생성된 번역보다 품질이 낮을 수 있습니다. Lingo.dev CLI는 필요할 때 번역을 새로 고칠 수 있는 옵션을 제공합니다:
기존 번역 유지:
npx lingo.dev@latest i18n
# 모든 기존 번역을 보존하고 누락된 부분만 채움
특정 언어 재번역:
npx lingo.dev@latest i18n --force --locale es
# 모든 스페인어 번역을 재생성
특정 키 재번역:
npx lingo.dev@latest i18n --force --key error.network
# 모든 언어에서 error.network 키만 재생성
재번역에 대한 자세한 정보는 재번역을 참조하세요.
빈 대상 파일
빈 대상 파일이나 일부 키만 있는 파일이 있는 경우, Lingo.dev CLI는 이를 부분적으로 번역된 것으로 취급하고 누락된 내용을 채웁니다.
예시:
// locales/de.json (빈 대상 파일)
{}
CLI를 실행한 후, 모든 소스 키가 번역된 완전한 번역 파일이 됩니다.
락파일 초기화
첫 실행 시 기존 상태를 반영하는 i18n.lock
파일이 생성됩니다. 이는 원래 Lingo.dev CLI로 생성되지 않았더라도 이미 존재하는 콘텐츠를 CLI가 재번역하는 것을 방지합니다.
이 락파일은 앞으로 기존 번역과 새 번역 간의 일관된 동작을 보장합니다.