i18n.lock

Max PrilutskiyCEO y cofundadorActualizado: hace 3 meses · 2 min de lectura

Obsoleto

Estos documentos cubren el CLI heredado (v0). El CLI actual es v1. Ver la documentación actual del CLI

i18n.lock es un lockfile que almacena huellas SHA-256 de tu contenido de origen. La CLI de Lingo.dev compara estas huellas en cada ejecución para determinar qué cadenas son nuevas o se han modificado; solo esas entran en el flujo de traducción. Todo lo demás se omite.

Estructura#

El lockfile utiliza formato YAML:

yaml
version: 1
checksums:
  a07974ea09011daa56f9df706530e442:
    title: f8692d39317193acf0e2e47172703c46
    description: g9703e40428204bdf1f3f58283814d57
CampoDescripción
versionVersión del esquema del lockfile.
checksumsMapa de huellas de contenido. Cada entrada asocia un hash de contenido de origen a un hash de clave.

La estructura de doble hash (hash de contenido + hash de clave) permite la detección de cambio de nombre de claves: la CLI conserva las traducciones existentes cuando se cambia el nombre de una clave, pero su contenido sigue siendo el mismo.

Flujo de trabajo#

Primera ejecución: crea el lockfile con las huellas de todo el contenido de origen:

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

Ejecuciones posteriores: traducen solo el delta:

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

Forzar retraducción: omite el lockfile y vuelve a traducirlo todo:

bash
npx lingo.dev@latest run --force

Recrear el lockfile: reconstruye el lockfile a partir del estado actual de tus archivos de origen:

bash
npx lingo.dev@latest lockfile --force

Usa lockfile --force para restablecer el lockfile durante la resolución de conflictos de fusión. Puedes ejecutarlo con seguridad en cualquier momento.

Verificación congelada: falla si hay contenido que requiere traducción (pensada para CI/CD):

bash
npx lingo.dev@latest run --frozen

Desduplicación#

Al fusionar ramas, el YAML del lockfile puede acumular entradas duplicadas. La CLI las elimina automáticamente cada vez que lo carga: las claves duplicadas dentro del mismo bloque de checksum se resuelven conservando la última aparición. Si se eliminan duplicados, la CLI registra la cantidad.

La desduplicación se ejecuta en todos los comandos que leen el lockfile: run, status, lockfile y otros.

Control de versiones#

i18n.lock debe confirmarse en tu repositorio junto con tus archivos de idioma. Es el mecanismo que hace posible la traducción incremental; sin él, cada ejecución volvería a traducir todo el proyecto.

Siguientes pasos#