StringLane

Browse docsHow to Bulk-Translate a Locale
How-To

How to Bulk-Translate a Locale

Fill all missing translations in a locale with one click, with progress tracking and cancel support.

Last updated

Bulk translation sends all missing (or all) keys in a locale to your AI provider sequentially. It's the fastest way to get a new locale from empty to complete.

Requirements#

Configure an AI provider in Settings → App → AI Providers first. See Set Up AI Translation in 5 Minutes.

Starting a bulk translation#

Click ✨ Translate… in the sidebar footer, next to + Key. The popover has two groups:

  • Missing keys — one row per locale that still has gaps, with the count (fr · 2 missing). Translates only those keys and leaves existing values alone.
  • Re-translate all — one row per non-base locale, with the total key count. Overwrites every existing value, and says so.

Pick a row to open the bulk translate dialog.

Tip: prefer the Command Palette's Translate all missing with AI when you want to fill gaps across every non-base locale in one pass — see How to Translate All Missing Cells at Once. The Translate… popover is the right tool for a single-locale focused pass.

Translate… popover open from the sidebar footer: a Missing keys group listing fr, de and ja with counts, above a Re-translate all group warning that it overwrites existing values

The bulk translate dialog#

The dialog shows:

  • The target locale and provider you're using
  • The number of keys that will be translated
  • A confirmation button to start

Click Translate to begin. A progress bar tracks the current key number.

Bulk translate confirmation dialog showing the target locale, provider, and key count

Cancelling#

Click Cancel at any time. The current in-flight translation finishes (it can't be interrupted), then the run stops. All translations completed before you cancelled are saved.

Results summary#

When the run completes (or is cancelled), a summary shows:

  • How many keys were translated successfully
  • How many failed (with the key names listed)
  • Option to close or retry failed keys individually

Failed keys typically happen due to transient API errors. Retry them individually with ✨ or start another bulk pass. StringLane retries each failed key up to two times before marking it as failed.

Bulk translate results summary showing translated key count and any failures

Tips for best results#

  • Add product context first. Bulk runs use the same prompt as single-key translation. Better context = better results across all keys. See Configure Guarded Words and Product Context.
  • Raise reasoning effort for hard targets. For Ukrainian, Polish or Czech, set Reasoning effort to Balanced or High in Settings → App → AI Providers before a bulk run — plural agreement is where cheap models fail most often across a whole locale at once.
  • Use Missing keys on the first pass. Re-translate all is useful for refreshing translations after changing your product context or guarded words, but it will overwrite any manual corrections you have made.
  • Check for Param and ICU badges after the run. Bulk translation sometimes produces placeholder mismatches on strings with variables. Fix these manually or re-translate individual keys.