fix(i18n): review the 64 non-pt-BR dashboard catalogs for translation quality - #14078
Merged
Merged
Conversation
… exist at --since
… quality Runs scripts/i18n/review-locale.mjs over every locale except pt-BR (done in #13885): 75,263 corrections applied against the English source, 1,677 of them reverted because the "correction" replaced a real translation with the plain English term (the real-translation ratio gate counts those as untranslated). zh-CN/zh-TW provider term normalised after the run. review-locale.mjs hardening found by the run: per-batch retries with backoff (a skipped batch is listed, not fatal), catalog checkpoint every 25 batches, and setDeep resolving leaf keys that contain a dot.
…eview-all-locales # Conflicts: # src/i18n/messages/am.json # src/i18n/messages/el.json # src/i18n/messages/et.json # src/i18n/messages/ga.json # src/i18n/messages/ha.json # src/i18n/messages/hr.json # src/i18n/messages/hy.json # src/i18n/messages/ig.json # src/i18n/messages/ka.json # src/i18n/messages/km.json # src/i18n/messages/lt.json # src/i18n/messages/lv.json # src/i18n/messages/ml.json # src/i18n/messages/mt.json # src/i18n/messages/ne.json # src/i18n/messages/or.json # src/i18n/messages/pa.json # src/i18n/messages/si.json # src/i18n/messages/sl.json # src/i18n/messages/sr.json # src/i18n/messages/sw.json # src/i18n/messages/ur.json # src/i18n/messages/uz.json # src/i18n/messages/yo.json
This was referenced Sep 19, 2026
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
… quality (diegosouzapw#14078) * fix(i18n): review-locale reviews every leaf of a catalog that did not exist at --since * fix(i18n): review the 64 non-pt-BR dashboard catalogs for translation quality Runs scripts/i18n/review-locale.mjs over every locale except pt-BR (done in diegosouzapw#13885): 75,263 corrections applied against the English source, 1,677 of them reverted because the "correction" replaced a real translation with the plain English term (the real-translation ratio gate counts those as untranslated). zh-CN/zh-TW provider term normalised after the run. review-locale.mjs hardening found by the run: per-batch retries with backoff (a skipped batch is listed, not fatal), catalog checkpoint every 25 batches, and setDeep resolving leaf keys that contain a dot.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Third of the three final i18n adjustments (
_tasks/superpowers/plans/2026-09-16-i18n-completion.md, addendum 2026-09-17): the quality review thatpt-BRreceived in #13885 applied to the 64 other dashboard catalogs.scripts/i18n/review-locale.mjscompares every leaf changed since the locale's last translation commit against its English source and asks the translation backend (LAN OmniRoute,codex/gpt-5.6-sol-low) for a corrected value where meaning, placeholders, register or product terminology are off.en,pt-BR)Host,Proxy,Endpoints,Webhooks,Error, …); the real-translation ratio gate counts those as untranslated andha/ig/my/phiwent red, so the pre-review value was restored for that class in every locale_artifacts/i18n-review/<code>.mdper locale (key / en / before / after), not committedreview-locale.mjshardening (found by the run, each with a unit test)withRetries, 4 attempts, 2/10/30 s); a batch that still fails is skipped and listed in_artifacts/i18n-review/<code>.skipped.jsoninstead of killing the run throughmain().catch. Before: one upstream hiccup lost the whole run (Amharic: 2 h 42).en.jsoncarry a dot in their own key (compliance.eventTypes["apiKey.ban"]); the flattened id was descended naively and the review crashed withCannot set properties of undefined (setting 'ban')after two hours (Hausa ×3, Greek, Estonian).setDeepnow prefers the longest existing key at each level.Base merge note
Merging
release/v3.8.51(49 commits) into the branch conflicted on 24 catalogs; resolved with a 3-way key merge (base / review / tip): 931 leaves new on the tip taken as is, 63,420 review corrections kept, 12 leaves changed on both sides resolved in favour of the tip. The tip itself is red oni18n:check-keys: #13670 (allowAutoCombos, merged 2026-09-17 21:53 UTC) added 14settings.*keys toen.jsonand to no other catalog, so 64 locales miss them. This PR adds and translates those 14 × 64 leaves (sync-ui-keys --translate-markers) so the gate is green again after merge.Validation
npm run i18n:check-rationpm run i18n:check-keysi18n:check-glossaryzh-CN / zh-TW / koi18n-placeholder-parity,feature-flag-description-icu-parse-12505,dashboard-localization-contract,server-owned-tool-loop-flag,i18n-home-recent-requests-topology-legend,i18n-cli-namespaces,i18n-key-completeness,i18n-review-localeNo production code touched (
src/i18n/messages/**,scripts/i18n/review-locale.mjs, its test, changelog fragment).1603c86ein a detached worktree outside this branch, in files this PR does not touch:Docs Gates= the #14004 env/doc contract;check-api-typecheck(codex-responses-ws/route.tsTS2339 7→12,glmResetCards.tsTS2322 0→1,src/sse/handlers/chat.tsTS2345 0→1); thefile-sizefast gate (tests/unit/chatcore-translation-paths.test.ts3448 lines on the tip > frozen 3447); and 24 unit test files (body-timeout-integration,chat-managed-lease-routing,chat-route-coverage,chatcore-translation-paths,check-env-doc-sync,compression/{body-adapter,pipeline-integration,rtk-code-stripper,rtk-engine,strategySelector},error-public-boundaries-hardening,g13-combo-chatcore-golden,gen-budget-card-svg,hard-session-lease-bypass-inventory,issue-7793-env-doc-sync-repro,lib/rate-limit-maxwaitms-disable-execution,provider-limits-local-apikey-sync-spacing,provider-translate-path-golden,providers-constants-split,responses-active-stream-custom-tool,sse-stream-buffer-bytes,stream-markdown-token-boundary,streaming-reasoning-dedup-5786,webpack-create-require-warning), each failing on the tip with the same test names.