Retraduction
lingo push ne traduit que ce qui a changé : il compare le hachage de chaque source à celui du fichier de verrouillage et ignore tout ce qui correspond. C’est le comportement par défaut idéal, mais il peut arriver que vous souhaitiez retraduire un contenu dont le texte source est identique — après avoir changé le modèle du moteur, mis à jour ses règles ou son glossaire, ou corrigé un problème de qualité.
Il existe trois façons de le faire, avec des coûts différents : --key pour des chaînes individuelles, un push --force ciblé pour des fichiers entiers, ou purge suivi d’un push classique pour une langue entière. Privilégiez l’option la plus précise qui couvre ce que vous voulez retraduire.
Retraduire des clés spécifiques#
--key retraduit uniquement les clés que vous indiquez, les fusionne à la traduction existante et laisse toutes les autres clés strictement identiques, octet pour octet. Il ignore les différences dans la source : même si une chaîne en anglais n’a jamais changé, elle sera quand même retraduite.
lingo push --key auth.loginRépétez le flag pour plusieurs clés :
lingo push --key auth.login --key billing.planUn motif peut correspondre à une clé exacte, à un préfixe se terminant sur une frontière ., /, - ou [, ou à un glob. Ainsi, auth.login correspond aussi à auth.login.title, mais jamais à auth.login_url ; un simple auth correspond à tout le sous-arbre auth, mais jamais à authority. Mettez les globs entre guillemets, sinon votre shell les développera avant que le CLI ne les voie :
lingo push --key "auth.*"C’est de loin l’option la plus économique : vous ne payez que les clés que vous avez indiquées, et rien de plus. Elle nécessite une traduction existante dans laquelle fusionner ; une langue que vous n’avez encore jamais traduite sera donc ignorée, avec un message renvoyant vers --backfill-missing. Certains formats ne prennent tout simplement pas en charge une portée de clés — la liste des formats indique lesquels, et pourquoi.
Consultez lingo push pour le fonctionnement complet, y compris le sort réservé aux clés que vous n’avez pas indiquées.
Forcer un push ciblé#
--force retraduit chaque cible correspondante, sans tenir compte des traductions existantes ni du cache côté serveur. Limitez sa portée, sauf si vous visez réellement l’ensemble du projet : un simple lingo push --force couvre tous les motifs configurés, et seule l’invite de confirmation vous en sépare.
Un fichier#
lingo push content/en/landing.mdx --forceUn sous-arbre#
lingo push 'content/en/**/*.md' --forceTout#
lingo push --backfill-missing --force --yes--force demande une confirmation avant d’écraser ; ajoutez --yes pour ignorer cette étape (CI). Voir lingo push pour la Référence complète des options.
Retraduire une seule langue#
push n’a pas d’option par langue. Pour ne régénérer qu’une seule langue, supprimez ses fichiers puis relancez le remplissage des manquants :
lingo purge --locale fr
lingo push --backfill-missingpurge supprime les cibles fr ; --backfill-missing régénère ensuite uniquement ce qui manque — les autres langues restent inchangées. C’est aussi plus économique que --force, car tout sauf fr reste servi par le cache. Voir Purge.
Estimer avant de dépenser#
Toute commande push accepte --estimate, qui estime le coût de l’exécution puis s’arrête sans traduire :
lingo push 'content/en/**/*.md' --force --estimateCette option se combine aussi avec --key : vous pouvez donc estimer le coût d’une portée de clés avant de l’exécuter :
lingo push --key auth.login --estimateLes estimations sont heuristiques, pas contractuelles — le coût final peut varier.
Quand retraduire#
| Situation | Commande à lancer |
|---|---|
| Le texte source a changé | Rien — un simple lingo push s’en charge |
| Quelques chaînes qui ne vous conviennent pas | lingo push --key auth.login --key billing.plan |
| Le modèle du moteur a changé | lingo push <scope> --force |
| Règles / glossaire mis à jour | lingo push --key <affected keys>, ou lingo push <scope> --force |
| Qualité insuffisante dans une langue | lingo purge --locale <code> puis lingo push --backfill-missing |
| Repartir entièrement de zéro | lingo push --backfill-missing --force --yes |