CLI는 .lingo/config.json에 설정된 하나의 소스 로캘을 기준으로 하나 이상의 대상 로캘로 번역합니다:
{
"sourceLocale": "en",
"targetLocales": ["de", "fr", "es", "ja"]
}소스 파일은 읽기만 하고, 직접 쓰지는 않습니다. 각 대상 로캘은 별도의 출력 파일을 가지며, 파일 패턴에는 해당 로캘 코드가 치환됩니다(content/en/app.json → content/de/app.json). 자세한 내용은 구성을 참고하세요.
로캘 코드#
표준 BCP 47 태그를 사용하세요. 언어 코드만 있는 형식(de)도, 언어-지역 태그 형식(de-CH)도 모두 지원됩니다. CLI는 고정된 목록을 따로 유지하지 않습니다. targetLocales는 어떤 태그든 받아 그대로 엔진에 전달합니다. 실제로 어떤 로캘을 번역할 수 있는지, 또 얼마나 자연스럽게 번역되는지는 CLI의 제한이 아니라 엔진 모델의 지원 범위에 달려 있습니다.
대표적인 예시는 다음과 같습니다:
| 언어 | 코드 |
|---|---|
| 영어 | en (또는 en-US, en-GB) |
| 스페인어 | es (또는 es-ES, es-419, es-MX) |
| 프랑스어 | fr (또는 fr-FR, fr-CA) |
| 독일어 | de (또는 de-CH, de-AT) |
| 포르투갈어 | pt-BR, pt-PT |
| 중국어 | zh-Hans, zh-Hant |
| 일본어 | ja |
| 한국어 | ko |
지역별 변형#
방언 차이가 중요하다면 지역을 지정하세요. 엔진이 해당 로캘에 맞는 철자와 어휘로 번역합니다:
{
"sourceLocale": "en-US",
"targetLocales": ["en-GB", "es-ES", "es-419", "pt-BR", "pt-PT", "fr-CA"]
}en-US → en-GB는 "color"를 "colour"로, es-ES → es-419는 "ordenador"를 "computadora"로 바꿉니다. 이런 차이를 얼마나 잘 살려내는지는 CLI가 아니라 엔진의 브랜드 보이스와 지침에 달려 있습니다.
오른쪽에서 왼쪽으로 쓰는 언어#
RTL 로캘(아랍어 ar, 히브리어 he, 페르시아어 fa, 우르두어 ur)도 다른 로캘과 동일하게 번역됩니다. 앱에서 텍스트 방향을 처리하는 일은 렌더러의 역할이며, CLI는 번역된 문자열만 생성합니다.
로캘 추가 또는 제거#
변경은 targetLocales만 수정하면 끝입니다. 새로 추가한 로캘을 채우려면 lingo push --backfill-missing를 실행하세요. 자세한 내용은 로캘 추가를 참고하세요. 로캘을 제거하려면 항목을 삭제한 뒤 lingo purge --locale로 해당 파일도 함께 삭제하세요.
