재번역
lingo push은 변경된 내용만 번역합니다. 각 소스를 lockfile과 대조해 해시하고, 일치하는 항목은 건너뜁니다. 기본적으로는 이 방식이 가장 적절하지만, 때로는 소스 텍스트가 같아도 콘텐츠를 다시 번역하고 싶을 때가 있습니다. 예를 들어 엔진의 모델을 전환했거나, 규칙이나 용어집을 업데이트했거나, 품질 문제를 수정한 경우가 그렇습니다.
방법은 세 가지이며, 비용도 각각 다릅니다: 개별 문자열은 --key, 전체 파일은 범위를 지정한 --force push, 전체 로캘은 purge 후 일반 push를 사용합니다. 다시 돌리려는 범위를 충족하는 옵션 중 가장 좁은 범위를 선택하세요.
특정 키 다시 번역하기#
--key는 지정한 키만 다시 번역해 기존 번역에 병합하고, 나머지 키는 모두 바이트 단위까지 그대로 유지합니다. 소스 diff는 무시하므로 영어 문자열이 전혀 바뀌지 않았더라도 다시 번역됩니다.
lingo push --key auth.login여러 키를 지정하려면 플래그를 반복해서 사용하세요:
lingo push --key auth.login --key billing.plan패턴은 키와 정확히 일치하거나, ., /, - 또는 [ 경계에서 끝나는 접두사로 일치하거나, glob으로 일치할 수 있습니다. 따라서 auth.login는 auth.login.title도 포함하지만 auth.login_url는 절대 포함하지 않습니다. 반면 일반 auth는 전체 auth 하위 트리를 포함하지만 authority는 포함하지 않습니다. glob은 따옴표로 감싸세요. 그렇지 않으면 CLI가 보기 전에 셸이 먼저 확장해 버립니다:
lingo push --key "auth.*"이 옵션이 단연 가장 저렴합니다. 지정한 키에 대해서만 비용을 내면 되고, 그 외에는 추가 비용이 없습니다. 기존 번역에 병합하는 방식이라 아직 한 번도 번역한 적 없는 로캘은 --backfill-missing을 안내하는 메시지와 함께 건너뜁니다. 일부 형식은 키 범위 자체를 지원하지 않습니다. 어떤 형식이 해당되는지와 그 이유는 Formats에서 확인할 수 있습니다.
전체 동작 방식과, 지정하지 않은 키가 어떻게 처리되는지까지 포함해 자세히 보려면 lingo push를 확인하세요.
범위를 지정해 push 강제 실행#
--force는 기존 번역과 서버 측 캐시를 무시하고, 일치하는 모든 대상을 다시 번역합니다. 정말 프로젝트 전체를 다시 번역하려는 게 아니라면 범위를 꼭 지정하세요 — 아무 옵션 없이 lingo push --force만 실행하면 구성된 모든 패턴이 대상이 되며, 이를 막아 주는 건 확인 프롬프트뿐입니다.
파일 하나#
lingo push content/en/landing.mdx --force하위 트리#
lingo push 'content/en/**/*.md' --force전체#
lingo push --backfill-missing --force --yes--force는 덮어쓰기 전에 확인을 요청합니다. 확인 메시지를 건너뛰려면(CI) --yes를 사용하세요. 전체 플래그 레퍼런스는 lingo push를 참고하세요.
특정 로캘만 재번역하기#
push에는 로캘별 플래그가 없습니다. 한 언어만 다시 번역하려면 해당 파일을 삭제한 뒤 backfill을 실행하세요:
lingo purge --locale fr
lingo push --backfill-missingpurge는 fr 대상을 제거하고, 이어서 --backfill-missing가 누락된 항목만 다시 생성합니다. 다른 로캘은 그대로 유지됩니다. 또한 --force를 제외한 나머지는 모두 캐시 히트가 유지되므로 fr보다 비용도 더 적게 듭니다. Purge를 참고하세요.
비용 지출 전에 예상하기#
모든 push는 --estimate를 지원하며, 이 옵션을 사용하면 번역은 수행하지 않고 실행 비용만 계산한 뒤 종료합니다:
lingo push 'content/en/**/*.md' --force --estimate또한 --key와 함께 사용할 수도 있어, 실행 전에 키 스코프의 비용을 미리 확인할 수 있습니다:
lingo push --key auth.login --estimate예상치는 휴리스틱 기반이므로 견적과는 다를 수 있으며, 최종 비용도 달라질 수 있습니다.
재번역이 필요한 경우#
| 상황 | 실행할 작업 |
|---|---|
| 소스 텍스트가 변경됨 | 없음 — 일반 lingo push로 자동 반영됩니다 |
| 마음에 들지 않는 문자열 몇 개 | lingo push --key auth.login --key billing.plan |
| 엔진의 모델을 전환함 | lingo push <scope> --force |
| 규칙 / 용어집 업데이트 | lingo push --key <affected keys> 또는 lingo push <scope> --force |
| 특정 로캘의 품질이 낮음 | lingo purge --locale <code> 후 lingo push --backfill-missing |
| 완전히 새로 시작함 | lingo push --backfill-missing --force --yes |