The translate_once mode bootstraps translated content one time, then lets each language diverge independently on subsequent saves.
At save time
- Writes only when the target value is empty.
- Uses machine translation when available.
- Small saves (below workload thresholds): machine translation runs synchronously during the request.
- Large saves (above thresholds): machine translation is queued and runs in the background after the source save completes.
During import
- Copies source value to the default-language store only when the default-language value is empty.
- Queues machine-translation jobs when DeepL is available (always with first-use assistant; only above import workload thresholds with WP-CLI).
- Small WP-CLI imports below thresholds translate synchronously instead of queuing jobs.
- Queued jobs skip targets that already have a value.
When to use
Use translate_once to bootstrap translated content one time, then edit each language independently. Good for teaser text or intro paragraphs that editors refine per language. See Field translation overview for more guidance.