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.

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.

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.

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.
How to Translate All Missing Cells at Once
Next →How to Translate with a Local LLM (Ollama, LM Studio, Jan)