Adding a language is two steps: list it as a target, then backfill.
1. Add the locale to your config#
Edit targetLocales in .lingo/config.json:
{
"sourceLocale": "en",
"targetLocales": ["de", "fr", "es", "ja"]
}ja is the new one here. Any BCP 47 code works.
2. Backfill the new locale#
lingo push --backfill-missing--backfill-missing translates every target that doesn't exist yet, across every configured pattern. The existing de, fr, and es files are already present, so they're skipped — only the new ja files are produced.
✓ Run lfr_a8c...: localized 14 target file(s), 0 already up-to-date.Why not a plain push?
A bare lingo push only looks at sources whose hash changed since the last run. Adding a locale doesn't change any source, so a plain push would find nothing to do. --backfill-missing keys off missing target files instead, which is exactly what a new locale produces.
Estimate first#
To see the cost of adding a locale before spending anything:
lingo push --backfill-missing --estimatePrints the estimated cost and exits without translating. See Retranslation for more on --estimate and --force.
Removing a locale#
Drop it from targetLocales, then delete its files:
lingo purge --locale jaSee Purge.
