i18n.lock

Max PrilutskiyCEO e cofundadorAtualizado em: há 3 meses · 2 min de leitura

Obsoleto

Esta documentação cobre o CLI legado (v0). O CLI atual é o v1. Veja a documentação atual da CLI

i18n.lock é um lockfile que armazena impressões digitais SHA-256 do seu conteúdo de origem. A CLI do Lingo.dev compara essas impressões digitais em cada execução para identificar quais strings são novas ou foram alteradas — só elas entram no pipeline de tradução. Todo o resto é ignorado.

Estrutura#

O lockfile usa o formato YAML:

yaml
version: 1
checksums:
  a07974ea09011daa56f9df706530e442:
    title: f8692d39317193acf0e2e47172703c46
    description: g9703e40428204bdf1f3f58283814d57
CampoDescrição
versionVersão do esquema do lockfile.
checksumsMapa das impressões digitais do conteúdo. Cada entrada associa um hash do conteúdo de origem a um hash de chave.

A estrutura de hash duplo (hash do conteúdo + hash da chave) permite a detecção de renomeação de chaves — a CLI preserva as traduções existentes quando uma chave é renomeada, mas o conteúdo continua o mesmo.

workflow#

Primeira execução — cria o lockfile com as impressões digitais de todo o conteúdo de origem:

bash
npx lingo.dev@latest run
# Creates i18n.lock

Execuções seguintes — traduzem apenas o delta:

bash
npx lingo.dev@latest run
# Compares against i18n.lock, translates only changes

Forçar retradução — ignora o lockfile e retraduz tudo:

bash
npx lingo.dev@latest run --force

Recriar lockfile — recria o lockfile com base no estado atual dos seus arquivos de origem:

bash
npx lingo.dev@latest lockfile --force

Use lockfile --force para resetar o lockfile durante a resolução de conflitos de merge. É seguro executar esse comando a qualquer momento.

Verificação congelada — falha se algum conteúdo precisar de tradução (feita para CI/CD):

bash
npx lingo.dev@latest run --frozen

Deduplicação#

Ao mesclar branches, o YAML do lockfile pode acumular entradas duplicadas. A CLI faz a deduplicação automaticamente sempre que o arquivo é carregado — chaves duplicadas sob o mesmo bloco de checksum são resolvidas mantendo a última ocorrência. Se duplicatas forem removidas, a CLI registra a contagem.

A deduplicação é executada em todos os comandos que leem o lockfile: run, status, lockfile e outros.

Controle de versão#

i18n.lock deve ser commitado no seu repositório junto com os arquivos de idioma. É esse mecanismo que torna a tradução incremental possível — sem ele, cada execução retraduziria o projeto inteiro.

Próximos passos#