Skip to main content
shipi18n logo|Documentation

Incremental Translation

Only translate new or changed keys, saving time and API costs.

How It Works

When enabled, Shipi18n compares your current source file with the previously synced version and only translates keys that have changed.

  • New keys: Translated immediately
  • Modified keys: Re-translated with updated content
  • Unchanged keys: Skipped (existing translations preserved)
  • Deleted keys: Removed from target files

Enable in GitHub Action

- name: Translate incrementally
  uses: Shipi18n/shipi18n-github-action@v1
  with:
    api-key: ${{ secrets.ANTHROPIC_API_KEY }}
    source-dir: locales/en
    target-languages: es,fr,de
    incremental: 'true'  # Default is true

CLI Usage

shipi18n translate locales/en --target es,fr,de --incremental

Benefits

  • Cost savings: Only pay for changed content
  • Faster syncs: Skip unchanged translations
  • Preserve edits: Manual corrections to translations are kept
  • Git-friendly: Smaller diffs in PRs

When to Disable

Set incremental: false if you want to re-translate everything, for example after fixing a translation bug or changing glossary settings.