Retraducción

Max PrilutskiyCEO y cofundadorUpdated hace 16 días · 3 min read

lingo push solo traduce lo que ha cambiado: genera un hash de cada texto fuente comparándolo con el lockfile y omite todo lo que coincida. Ese es el comportamiento predeterminado adecuado, pero a veces te interesa volver a traducir contenido cuyo texto fuente es idéntico: por ejemplo, tras cambiar el modelo del motor, actualizar sus reglas o glosario, o corregir un problema de calidad.

Hay tres formas de hacerlo, y se diferencian en lo que pagas: --key para cadenas individuales, un push con --force para archivos completos, o purge seguido de un push normal para un idioma completo. Elige la opción más concreta que cubra lo que quieres rehacer.

Retraducir claves concretas#

--key retraduce solo las claves que indiques, las integra en la traducción existente y deja todas las demás claves idénticas byte a byte. Ignora el diff del texto fuente, así que incluso una cadena cuyo inglés no haya cambiado se vuelve a traducir.

bash
lingo push --key auth.login

Repite la marca para varias claves:

bash
lingo push --key auth.login --key billing.plan

Un patrón puede abarcar una clave exacta, un prefijo que termina en un límite de ., /, - o [, o un glob. Así, auth.login también abarca auth.login.title, pero nunca auth.login_url; auth a secas abarca todo el subárbol de auth, pero nunca authority. Pon los globs entre comillas, o tu shell los expandirá antes de que la CLI los vea:

bash
lingo push --key "auth.*"

Esta es, con mucha diferencia, la opción más económica: pagas solo por las claves que hayas indicado y nada más. Necesita una traducción existente en la que integrarse, así que cualquier idioma que nunca hayas traducido se omitirá y se mostrará un mensaje que apunta a --backfill-missing. Algunos formatos no admiten en absoluto un ámbito por clave: Formatos indica cuáles y por qué.

Consulta lingo push para ver el comportamiento completo, incluido qué pasa con las claves que no hayas indicado.

Forzar un push acotado#

--force retraduce todos los destinos que coincidan, ignorando las traducciones existentes y la caché del servidor. Limítalo con un ámbito, salvo que realmente quieras abarcar todo el proyecto: lingo push --force a secas cubre todos los patrones configurados, y el aviso de confirmación es lo único que se interpone.

Un archivo#

bash
lingo push content/en/landing.mdx --force

Un subárbol#

bash
lingo push 'content/en/**/*.md' --force

Todo#

bash
lingo push --backfill-missing --force --yes

--force pide confirmación antes de sobrescribir; usa --yes para omitirla (CI). Consulta lingo push para ver la Referencia completa de opciones.

Retraducir un solo idioma#

push no tiene ninguna opción por idioma. Para rehacer solo uno, elimina sus archivos y rellena lo que falte:

bash
lingo purge --locale fr
lingo push --backfill-missing

purge elimina los destinos de fr; después, --backfill-missing regenera solo lo que falta, sin tocar los demás idiomas. Además, sale más barato que --force, porque todo salvo fr sigue siendo un acierto de caché. Consulta Purge.

Calcula el coste antes de gastar#

Cualquier push acepta --estimate, que calcula el precio de la ejecución y sale sin traducir:

bash
lingo push 'content/en/**/*.md' --force --estimate

También se puede combinar con --key, así que puedes calcular el precio de un ámbito de clave antes de ejecutarlo:

bash
lingo push --key auth.login --estimate

Las estimaciones son heurísticas, no un presupuesto: el coste final puede variar.

Cuándo retraducir#

SituaciónQué ejecutar
El texto fuente ha cambiadoNada — un lingo push normal lo detecta
Unas cuantas cadenas que no te convencenlingo push --key auth.login --key billing.plan
Has cambiado el modelo del motorlingo push <scope> --force
Reglas / glosario actualizadoslingo push --key <affected keys>, o lingo push <scope> --force
La calidad es baja en un idiomalingo purge --locale <code> y después lingo push --backfill-missing
Empezar completamente desde cerolingo push --backfill-missing --force --yes