Skip to main content
Run hyperlocalise run with your existing .hyperlocalise.lock.json to skip completed tasks whose fingerprints still match. New messages and changed translation inputs are eligible to run again. Preview the selection with --dry-run before generating translations. This uses translation checkpoints, not Git’s changed-line list. There is no run --diff-stdin flag; check --diff-stdin validates changed keys but does not generate translations.

Before you start

Complete the quickstart, review the generated translations, and keep its lockfile. The example below uses one source file, locales/en-US.json, and one target locale, es-ES. For React Intl, rerun extraction first so the source catalog includes your latest message descriptors.

1. Change one message and add another

After the first successful translation, replace the source file with:
Compared with the quickstart, welcome changed, checkout is new, and greeting is unchanged.

2. Inspect the incremental plan

With the same configuration, an intact checkpoint, and no other sources or target locales, expect two executable tasks and one skipped task: These counts describe tasks, not files. Adding target locales increases the number of tasks. Other reuse mechanisms or unfinished runs can also affect the plan.

3. Translate and review

Review the target diff. The unchanged greeting should keep its existing translation, while the changed and new messages receive output. Commit the updated source, reviewed target, and lockfile together. Rerun the dry run to confirm no unexpected work remains. A lockfile skip does not prove a target file is complete or correct; use check and review the actual files.

Why did an unchanged string run again?

Task fingerprints include more than visible source text. Model, prompt, context, and other translation settings can change the work the CLI considers complete. See the lockfile contract for fingerprint and checkpoint details. Avoid deleting the lockfile as a routine update step.

Limit work to a file or locale

Keep the same scope for preview and execution:
--file selects a configured source path. It does not identify individual changed keys. You can also select a bucket or group.

Request a deliberate rerun

To ignore completion state for a selected file and locale:
This selects every task in that scope, including unchanged messages. It can replace reviewed translations. --force bypasses lockfile skipping; it is not a promise to bypass every provider or remote cache. See the run prompt contract when changing prompt behavior.

Remove deleted source keys

Source deletions are a separate operation. Preview pruning before applying it:
Pruning removes stale target keys where supported. The run can also execute pending translations. Review the planned deletions and generation tasks together; use run reference for the deletion limit and scope controls.

Next steps