Retraducción
lingo push solo traduce lo que cambió: genera un hash de cada texto fuente frente al lockfile y omite todo lo que coincide. Esa es la opción predeterminada correcta, pero a veces necesitas volver a traducir contenido cuyo texto fuente es idéntico, por ejemplo, después de cambiar el modelo del motor, actualizar sus reglas o glosario, o corregir un problema de calidad.
Hay tres formas de hacerlo, y se diferencian por cuánto 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 específica que cubra lo que quieres volver a traducir.
Retraduce claves específicas#
--key retraduce solo las claves que indiques, las integra en la traducción existente y deja todas las demás claves idénticas byte por byte. Ignora el diff del contenido fuente, así que incluso una cadena cuyo texto en inglés nunca cambió se vuelve a traducir.
lingo push --key auth.loginRepite la bandera para varias claves:
lingo push --key auth.login --key billing.planUn 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 por sí solo abarca todo el subárbol de auth, pero nunca authority. Pon los globs entre comillas, o tu shell los expandirá antes de que el CLI los vea:
lingo push --key "auth.*"Esta es, por mucho, la opción más económica: pagas solo por las claves que especificaste y nada más. Requiere una traducción existente con la cual fusionarse, así que se omitirá cualquier idioma que nunca hayas traducido, con un mensaje que te dirigirá a --backfill-missing. Algunos formatos no admiten un alcance de claves: en Formats se indica cuáles son y por qué.
Consulta lingo push para ver el comportamiento completo, incluido qué sucede con las claves que no indicaste.
Forzar un push acotado#
--force retraduce cada destino coincidente, sin tomar en cuenta las traducciones existentes ni la caché del servidor. Asígnale un alcance, a menos que de verdad quieras abarcar todo el proyecto: lingo push --force sin argumentos cubre todos los patrones configurados, y el mensaje de confirmación es lo único que se interpone.
Un archivo#
lingo push content/en/landing.mdx --forceUn subárbol#
lingo push 'content/en/**/*.md' --forceTodo#
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 flags.
Retraducir un solo idioma#
push no tiene un flag por idioma. Para rehacer solo uno, elimina sus archivos y luego ejecuta backfill:
lingo purge --locale fr
lingo push --backfill-missingpurge elimina los destinos de fr; después, --backfill-missing regenera únicamente lo que falta, sin tocar los demás idiomas. Además, sale más barato que --force, porque todo excepto fr sigue resolviéndose desde caché. Consulta Purge.
Estima antes de gastar#
Cualquier push acepta --estimate, que calcula el costo de la ejecución y sale sin traducir:
lingo push 'content/en/**/*.md' --force --estimateTambién se combina con --key, así que puedes calcular el costo de un alcance de claves antes de ejecutarlo:
lingo push --key auth.login --estimateLas estimaciones son heurísticas, no una cotización: el costo final puede variar.
Cuándo retraducir#
| Situación | Qué ejecutar |
|---|---|
| Cambió el texto fuente | Nada: un lingo push normal lo detecta |
| Unas cuantas cadenas que no te terminan de convencer | lingo push --key auth.login --key billing.plan |
| Cambiaste el modelo del motor | lingo push <scope> --force |
| Reglas / glosario actualizados | lingo push --key <affected keys>, o lingo push <scope> --force |
| Mala calidad en un idioma | lingo purge --locale <code> y luego lingo push --backfill-missing |
| Empezar desde cero | lingo push --backfill-missing --force --yes |