feat(i18n): complete current V2 translation coverage - #50204
Open
opencode-agent[bot] wants to merge 17 commits into
Open
opencode-agent[bot] wants to merge 17 commits into
opencode-agent[bot] wants to merge 17 commits into
Conversation
opencode-agent
Bot
requested review from
Brendonovich and
Hona
as code owners
September 20, 2026 17:18
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
Weekly audit — 2026-09-21
This branch is based on current
origin/v2atc555559ac1and contains the previously reviewed translation work plus this week's drift repair. The former translation PR was closed without merging, so this is a new ready-for-review PR rather than a push to a closed head.Findings
After applying the prior reviewed translation baseline to current V2, the audit found:
ui.messagePart.context.detailskey retained in ten Indic/RTL dictionaries after English removed itThe weekly wave adds 1,671 translated entries, removes ten obsolete ordinary entries, and corrects the three stale Anthropic labels.
Exact current source keys
app source keys (24)
ui source keys (3)
Per-locale counts
pa,dv,ur: 23 new app translations and three shared-UI translations, plus the Anthropic semantic correctionHardcoded, grammar, and accessibility repairs
packages/ui/src/context/i18n.tsxadds a locale-aware complete-list formatter alongside the existing separator API.packages/session-ui/src/tools/tool-renderer.tsxnow formats tool-name lists through that API and renders the completeui.messagePart.tools.usedphrase without searching, slicing, or reassembling translated text.packages/app/src/composer/attachments/uploads.tsxuses new keyprompt.toast.uploading.cancelFilewith{{filename}}, so concurrent cancel controls have distinct accessible names.Translation-quality method
English dictionaries remained the semantic source of truth. Four independent language-family reviews used repository prior art, Unicode CLDR, Mozilla localization guidance and Firefox/Pontoon, Microsoft and Apple localization guidance, maintained KDE/VS Code and localized Git terminology where available, W3C bidi guidance, and the language authorities named in package guidance.
Product/provider names, commands, identifiers, paths, key labels, acronyms, and placeholders remain exact. New RTL interpolation is isolated where needed. Sparse-corpus terminology remains most review-sensitive in Dzongkha, Faroese, Burmese, Khmer, Lao, Amharic, Tajik, Turkmen, Shahmukhi Punjabi, and Divehi.
Cumulative branch behavior
The carried-forward reviewed commits complete earlier app/UI/desktop drift, native desktop strings, timeline/provider errors, typed runtime fallback, locale-specific plurals, rich contributor lists, browser/migration copy, and accessibility labels. Feature code remains unaware of locale-specific plural categories and grammar mechanics.
Checks
CIexplicitly unset for scoped i18n and package testsgit diff --check, and scoped Oxlint (zero errors) passedThe broad app unit run passed 862 tests (one skipped) but the existing
global-sync/bootstrapreconnect test failed withECONNRESETboth in the full run and focused rerun; translation and affected package checks passed. The repository-widebun run checkalso exhausted Host threads inconsole-supporttypecheck, while every scoped package typecheck above passed.Requested by: @Hona (Hona via Slack)