Skip to content

feat(i18n): translate several locales per request in sync-ui-keys - #15562

Merged
diegosouzapw merged 2 commits into
cheaper-inference:release/v3.8.52from
maxmad64bis:feat/sync-ui-keys-locales-per-request
Oct 6, 2026
Merged

diegosouzapw merged 2 commits into
cheaper-inference:release/v3.8.52from
maxmad64bis:feat/sync-ui-keys-locales-per-request

Conversation

@maxmad64bis

Copy link
Copy Markdown
Contributor

⚠️ base-red inherited: #15306

Summary

Translating new interface keys sends one request per language today, so 66 languages mean at least 66 requests while the concurrency setting only overlaps work inside each language. The per-request grouping already covered keys, never languages. This change adds an opt-in grouping of languages: without the flag every request stays exactly as before, and with it one request carries several languages and each broken line fails only its own language.

Related Issues

  • No linked issue — batching covers keys but not languages in sync-ui-keys

Validation

  • Change type: i18n
  • Focused tests and category gates from the golden path
  • npm run lint
  • Reconciled with the current active release base; focused checks rerun afterward
  • Production-code changes include a new or updated automated test in this PR

Tests Added Or Updated

  • tests/unit/i18n-translate-backend.test.ts — multi-language response parsing by language code, single-request batching, broken-line isolation, and quote restoration.
  • tests/unit/i18n-sync-ui-keys-locales-per-request.test.ts — flag parsing and defaults, locale chunking, placeholder union with divergent-source guard, planned-group requests with per-language retry, dry-run silence, and identical repeat runs.

Coverage Notes

N/A — no touched directory from the template list.

Reviewer Notes

@diegosouzapw
diegosouzapw merged commit 994324f into cheaper-inference:release/v3.8.52 Oct 6, 2026
7 of 9 checks passed
@maxmad64bis
maxmad64bis deleted the feat/sync-ui-keys-locales-per-request branch October 7, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants