Pas besoin de repartir de zéro. Si vous avez déjà des fichiers traduits, le CLI s’intègre à l’existant : il complète ce qui manque et laisse vos traductions en place.
Pointez la configuration vers l’existant#
Définissez vos langues source et cible ainsi que les motifs de fichiers, en fonction de l’emplacement actuel de vos traductions :
{
"sourceLocale": "en",
"targetLocales": ["de", "fr"],
"files": [{ "pattern": "locales/en.json" }]
}Si locales/de.json et locales/fr.json existent déjà, ils restent inchangés.
Comblez les manques#
lingo push --backfill-missing--backfill-missing génère uniquement les cibles manquantes — une langue sans fichier pour l’instant, ou (après la première exécution) des clés que le moteur n’a pas traduites. Les fichiers déjà présents ne sont pas écrasés.
✓ Run lfr_a8c...: localized 1 target file(s), 2 already up-to-date.Figez certaines valeurs#
Si certaines traductions existantes ont été relues manuellement et ne doivent jamais changer, ajoutez-les à preservedKeys pour qu’aucune exécution ultérieure ne les modifie :
{ "pattern": "locales/en.json", "preservedKeys": ["legal.terms"] }Comment le fichier de verrouillage amorce le suivi#
Le premier push enregistre un hash de chaque fichier source dans .lingo/lock.json. Ensuite, un simple lingo push n’envoie que les sources modifiées — vos traductions existantes ne sont jamais renvoyées, sauf si vous modifiez la source ou forcez l’opération. Validez le fichier de verrouillage avec vos traductions. Voir Configuration.
Écraser en toute connaissance de cause
--backfill-missing n’écrase jamais vos fichiers. Pour régénérer volontairement des traductions existantes (après un changement de modèle ou d’instruction), utilisez un push ciblé avec --force.
