i18n.lock

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

Descontinuado

Esta documentação abrange a CLI antiga (v0). A versão atual da CLI é a v1. Ver a documentação atual da CLI

i18n.lock é um lockfile que armazena impressões digitais SHA-256 do conteúdo de origem. Em cada execução, a CLI do Lingo.dev compara essas impressões digitais para identificar que strings são novas ou foram alteradas — só essas seguem para o pipeline de tradução. Tudo 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 deteção de renomeação de chaves — a CLI preserva as traduções existentes quando uma chave é renomeada, mas o conteúdo se mantém igual.

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 o lockfile — reconstrói o lockfile a partir do estado atual dos ficheiros de origem:

bash
npx lingo.dev@latest lockfile --force

Use lockfile --force para repor o lockfile durante a resolução de conflitos de merge. Pode executá-lo em segurança em qualquer altura.

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

bash
npx lingo.dev@latest run --frozen

Desduplicação#

Ao fazer merge de branches, o YAML do lockfile pode acumular entradas duplicadas. A CLI faz a desduplicação automaticamente em cada carregamento — as chaves duplicadas no mesmo bloco de checksum são resolvidas ao manter a última ocorrência. Se forem removidos duplicados, a CLI regista a respetiva contagem.

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

Controlo de versões#

i18n.lock tem de ser incluído em commit no seu repositório, juntamente com os ficheiros de idioma. É este mecanismo que torna possível a tradução incremental — sem ele, cada execução retraduziria o projeto inteiro.

Próximos passos#