diff --git a/docs/.i18n/translation-workflow.md b/docs/.i18n/translation-workflow.md index dc336ef40386..090736c28610 100644 --- a/docs/.i18n/translation-workflow.md +++ b/docs/.i18n/translation-workflow.md @@ -16,7 +16,7 @@ Internal note for the docs publish pipeline. This file is under `docs/.i18n`, wh 1. `openclaw/openclaw` syncs English docs into `openclaw/docs`. 2. GitHub Pages deploys English/source changes immediately from the sync commit. 3. `Translate All` is triggered by the sync commit, release dispatch, manual dispatch, or weekly schedule. -4. The coordinator waits a short cooldown window before starting translation. +4. The coordinator waits a cooldown window before starting translation. 5. After the cooldown, the coordinator reads the current `origin/main` source metadata. 6. If a newer docs sync arrived during cooldown, the coordinator uses the newer source state. 7. Per-locale translation jobs run in parallel with `fail-fast: false`. @@ -27,9 +27,11 @@ Internal note for the docs publish pipeline. This file is under `docs/.i18n`, wh ## Debounce policy -The coordinator waits 5 minutes after a docs sync or release dispatch, then re-reads `origin/main`. +The coordinator waits 1 hour after a docs sync or release dispatch, then re-reads `origin/main`. -If `.openclaw-sync/source.json` changed during the wait, it waits again from the newer state. If `main` keeps moving, the wait is capped at 20 minutes and the newest observed state is translated. +The default cooldown is controlled by the publish repo variable `OPENCLAW_DOCS_TRANSLATION_COOLDOWN_SECONDS`, which defaults to `3600`. Repository dispatch callers may override it with `client_payload.cooldown_seconds`, and manual runs may set `cooldown_seconds`. + +If `.openclaw-sync/source.json` changed during the wait, it waits again from the newer state. If `main` keeps moving, the wait is capped by `OPENCLAW_DOCS_TRANSLATION_MAX_WAIT_SECONDS`, which defaults to the cooldown value. The newest observed state is translated after the cap. Manual and weekly runs do not wait by default.