Repository navigation
fix(mobile): align Khmer agent chat, session and sign-in copy - #8459
Conversation
- One Khmer term per concept in the agent permission and profile copy: profile កម្រងព័ត៌មាន, permission ការអនុញ្ញាត, session វគ្គ, tokens តូខេន, and ម្តង throughout authErrors. - Title and label strings follow the English punctuation; the session list errors share one punctuation style. - Retryable and terminal failures keep distinct titles in the folder picker and the report-response toast. - Context fixes: config label, manual overrides, remote hint, needs-input title, own-answer placeholder, exploring status, instance load error, remote group header, PR badge state, tool identifiers, task progress label, count badge order, attachment accessibility separator. - Note the open pull request state label beside the verb CTA in the Khmer wording exceptions, as other catalogs already do. Verified with check:i18n, check:plurals, the i18n vitest suites, and the Android app in Khmer.
|
bot: Khmer copy exercised on the Android emulator against the local dev stack on this VM: app language ខ្មែរ, owned fake account, backend and Metro on the VM. What I observed:
Both strings were copied from the emulator UI hierarchy on the same screens, not guessed. The remaining changed strings are agent surfaces behind a connected provider or a live permission prompt; those are covered by the Khmer runtime render of every changed key in the PR body, plus No production data, credentials, or account details are visible; the address in the first capture is an owned fake test account. |
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryThe incremental commit replaces the Arabic comma in the Khmer attachment accessibility label with the ASCII Assumptions: Files Reviewed (2 files)
Previous Review Summary (commit e832e1e)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit e832e1e)Status: 1 Issue Found | Recommendation: Address before merge Executive SummaryOne copy defect: the new Khmer attachment accessibility label uses an Arabic comma (U+060C) instead of the comma in the English source; the rest of the Khmer catalog and wording-exception changes check out. Assumptions: Overview
Issue Details (click to expand)WARNING
Files Reviewed (2 files)
Reviewed by deepseek-flash-latest · Input: 43.8K · Output: 2.6K · Cached: 269.3K Review guidance: REVIEW.md from base branch |
The attachment accessibility label now joins the filename and the status with the same comma the English template uses, so a screen reader announces the two parts with the catalog's own punctuation.


What changes
apps/mobile/src/i18n/locales/km.jsononly — values, no keys, no placeholders,no other catalog.
tools/i18n/wording-exceptions.jsongainsopen pull requestfor
kmbecause that catalog now names the pull-request state apart from theverb CTA, which other catalogs (cs, pl, be, ko, …) already do.
Classes fixed:
agentChat.newSession(pickProfile,profileSaved,profileSelection,noProfile(s),personalProfiles,organizationProfiles,manageProfiles,yourProfiles,saveProfileDescription,advancedConfigDescription).agentChat.blockingCardandagentChat.permissionCard.agentChat.autoApprove(the other agent-chat sessionlabels already use it).
agentChat.contextUsageand, because the catalog keepsone rendering per identical English string, in
codeReviewer.reviewDetail.authErrorsuses one spelling of ម្តង.agentChat.session.couldNotLoad*,agentChat.preparation.earlierOutputOmitted,agentChat.newSession.yourProfilesandagentChat.markdownImage.httpsOnly(also shortened to a chip label).
agents.sessionList.couldNotRefreshnowmatches its two siblings.
agentChat.folderPicker.unsupportedTitlenames the CLI limitation instead of repeating
retryableTitle;agentChat.messageDetails.reportAiResponseFailedTerminalsays the responsecannot be reported, while the retryable key keeps the failed-attempt wording
(the toast already carries a Retry action).
configNeedsAttentionuses ការកំណត់;manualOverridesdrops the rejection sense;
remoteHintmatches the current Englishinstruction;
questionCard.titleis kind-neutral for question and permissionprompts; the own-answer placeholder carries the same imperative as its label;
computeStatus.exploringno longer reuses the search wording;instancePicker.couldNotLoadnames instances andremotesis a machine groupheader;
prBadge.openis a state phrase;toolGlob/toolGrepkeep their rawidentifiers like
toolBash; task progress labels say tasks;matchesBadgeputs the count first like
linesBadge; the attachment accessibility templateseparates filename and status.
Verification
node tools/i18n/check-catalogs.mjs→check-catalogs: 87 languages, every catalog matches en.jsonpnpm --filter kilo-app check:i18n→ oxlint 0 warnings/errors, same catalog linepnpm --filter kilo-app check:plurals→every counted message and every locale declares its plural categoriespnpm --filter kilo-app exec vitest run src/i18n→ 16 files, 1611 tests passedmain: 0 keys added, 0 removed, 48 values changedoxfmt --checkon both edited files: cleani18n.t(including thematchesBadgeplural family, which resolvesmatchesBadge_otherforkm,the attachment label, and the per-1M cost line that interpolates the tokens
label) printed the new values.
Android emulator, local dev stack and this VM's Metro, app language ខ្មែរ,
owned fake account:
លេខកូដនោះមិនត្រឹមត្រូវទេ។ សូមព្យាយាមម្តងទៀត។(the
ម្តងspelling,authErrors.invalidCode).ដើម្បីដំណើរការនៅលើកុំព្យូទ័ររបស់អ្នក សូមចាប់ផ្តើម Kilo នៅទីនោះ ហើយទុកវាដំណើរការ។with no command steps, and the run-on row reads
ដំណើរការលើ: Cloud Agent.Copied from the emulator UI hierarchy, not guessed. Copy-only change; screenshots
are on the pull request comment.
Proxy answers
The owner's proxy gave these answers in the owner's place.
Answer: Include both
Confidence: 0.85 · Precedent: Fix the root cause and the class of the issue on every affected surface: session 00eb2a1d3e4b, "if anything repeats the same mistake over and over again, fix the class"
Answer: Raw glob/grep
Confidence: 0.85 · Precedent: Keep similar elements consistent across surfaces: session a247f3c19b1e, owner asked that the thought row match the tool call row
Answer: ភ្នាក់ងារត្រូវការការបញ្ចូលពីអ្នក
Confidence: 0.70 · Precedent: Keep similar elements consistent across surfaces: session a247f3c19b1e, owner asked that the thought row match the tool call row
Answer: អ៊ីនស្តង់
Confidence: 0.80 · Precedent: Fix the class of the issue on every affected surface: session 75f8833fe8c1, "fix this for all shared services model pickers on all surfaces"