Repository navigation
fix(mobile): correct Thai agent, session, code reviewer and auth copy - #8008
Conversation
Thai catalog fixes reviewed against current English copy: - agent terminology: common.agent and the profiles agent editor now use the established loanword used elsewhere in the catalog, and the slug labels no longer borrow the animal word - token terminology: one transliteration across the context-usage and review detail strings - pull request terms: badges, the session accessibility phrase and the pending-comment hint use one correctly cased term - live states: the session list badge and the live transcript badge name a live state instead of duplicating the running status - admin terminology: one organization-admin term across the install alerts - clearer copy: the profile empty state asks to create a profile, the repo profile label names a repository, the remote exit message drops the temporal qualifier, the too-large changes message matches its family, the Bitbucket message names the unsupported repository, the sign-out message points at the signed-out device, and the camera rationale reuses the take-photo verb - consistency: polite retry phrasing in the auth error family, one guidance term for custom instructions, one ellipsis glyph, terminal wording for the no-decision label The slash-command Agent field gets its own placeholder key (agentChat.modeOptions.agentPlaceholder) instead of reusing the Code mode label, translated in every catalog.
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryThe current PR diff against Assumptions: Files Reviewed (1 file; en.json read as context)
Checks performed
Previous Review Summaries (4 snapshots, latest commit c6548ee)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit c6548ee)Status: No Issues Found | Recommendation: Merge Executive SummaryThe increment since Assumptions: Files Reviewed (88 files in the full PR; 1 file in the incremental commit)
Checks performed
Previous review (commit f16d52b)Status: No Issues Found | Recommendation: Merge Executive SummaryThe only PR-authored change since the last review is a one-line Thai value edit in Files Reviewed (1 file in the incremental commit; 88 files in the full PR)
Checks performed
Previous review (commit fdd5519)Status: No Issues Found | Recommendation: Merge Executive SummaryThe incremental commit Files Reviewed (88 files)
Checks performed
Previous review (commit 88f2a62)Status: 1 Issue Found | Recommendation: Address before merge Executive SummaryThe PR is a value-only Thai catalog fix plus one new placeholder key added to all 87 catalogs; the only finding is that the new key is filed under the agent-chat mode-options group even though its sole call site is the profiles slash-command Agent field, which has already produced inconsistent translations. Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (88 files)
Checks performed
Reviewed by deepseek-flash-latest · Input: 81.7K · Output: 18.4K · Cached: 1M Review guidance: REVIEW.md from base branch |
The slash-command Agent field placeholder now lives under profiles.slashCommands with the other placeholders of that form, so the key name names the field it describes instead of the screen that first showed it. Values are unchanged.
|
bot: Follow-up note: the reply above is now also posted in the review thread itself. No code change beyond fdd5519; the catalog check passes for 87 languages on that commit. |
|
bot: In-thread reply posted for the kilobot suggestion (see the resolved thread on apps/mobile/src/i18n/locales/en.json). Code state unchanged: fdd5519 moved the key to profiles.slashCommands.agentPlaceholder and the catalog check passes for 87 languages. |
bot: fix(mobile): correct Thai agent, session, code reviewer and auth copy
Change
Value-only corrections in
apps/mobile/src/i18n/locales/th.json. No key is added or removed,every placeholder,
$t()reference and edge space is unchanged, and the catalogs stay atparity with
en.json.Fixed classes:
common.agentand the wholeprofiles.agents.*editor family now usethe catalog's established AI-agent loanword instead of the human-representative word; the
slug labels say "identifier" instead of the animal word (proxy decisions 4-8).
agentChat.contextUsage.tokensandcodeReviewer.reviewDetail.tokens; the two keys share an English string, so the catalogone-wording rule requires them to match, and the family-majority spelling is used.
agentChat.prBadge.open/closed/merged,common.openPullRequestandagents.sessionRow.pullRequestuse the correctly casedPRacronym, matchingagentChat.prBadge.draftand the review surfaces thatmainmoved to it in fix(mobile): correct Thai PR review terminology #7999.agents.sessionList.liveandcodeReviewer.reviewDetail.transcriptLive(one English-wording group) now name a live state instead of duplicating the running status;
the running-state keys keep their own wording.
the existing not-admin message.
names a repository instead of the repurchase word; the remote-exit message drops the temporal
qualifier for a permanent, non-retryable error; the too-large changes message reuses its
family's term; the Bitbucket message attaches "unsupported" to the repository, not to Start
agent; the sign-out message points at the signed-out device; the camera rationale reuses the
take-photo verb.
custom instructions (
instructions.title+overview.customInstructions, one wording group);a single ellipsis glyph; the no-decision label no longer implies a pending verdict.
The slash-command Agent field placeholder this item set out to fix is already an agent-name
example on
main: #8205 addedprofiles.slashCommands.agentPlaceholderand pointedkilo-command-form-sheet.tsxat it. This branch therefore carries no key addition and nocall-site edit, and keeps
main's placeholder value.Rules conformance
apps/mobile/AGENTS.mdrestricts copy edits toen.json; this is a reviewed translationslice (work item labeled
janitor:i18n), hand-editingth.jsonvalues with the catalogparity checks as the guard.
_onefamilies touched, placeholders and$t()references unchanged.sets; no wording-exception entry was needed.
Verification (all on this VM, head commit 0f7e3f4)
mainis merged at 3b73995. The only conflicting file wasth.json, in four regions:common.openPullRequest,profiles.agents.*andagentChat.prBadge(whichmainhad alsoedited), plus the
profiles.slashCommands.agentPlaceholderrow that both sides added. Theresolution keeps this item's copy fixes, keeps
main's newly addedprofiles.agents.deleteFailedkey, and leaves
main's placeholder value in place. The branch now differs frommainin thatone file only.
pnpm --filter kilo-app check:i18n→ oxlint i18n config 0 warnings/0 errors, thencheck-catalogs: 87 languages, every catalog matches en.jsonnode tools/i18n/check-plurals.mjs→ every counted message and every locale declares itsplural categories
npx oxfmt --list-different src/i18n/locales/th.json→ no outputnpx vitest run src/i18n→ 16 files, 1611 tests passed(
compatibilityJSON: 'v4',fallbackLng: 'en'),lng: 'th', asserting the changed keysresolve to the new Thai values with placeholders bound and no English fallback:
agentChat.prBadge.open | เปิด PR,closed | PR ที่ปิดแล้ว,merged | PR ที่รวมโค้ดแล้ว,draft | PR ฉบับร่าง,common.openPullRequest | เปิด PR,agents.sessionRow.pullRequestwithnumber: 7→PR 7,agentChat.contextUsage.tokens | โทเคน,codeReviewer.reviewDetail.tokens | โทเคน,codeReviewer.reviewDetail.transcriptLive | สด,agents.sessionList.live | สด,codeReviewer.instructions.title | คำแนะนำที่กำหนดเอง,codeReviewer.overview.customInstructions | คำแนะนำที่กำหนดเอง,codeReviewer.manualReview.startingends with a single ellipsis glyph,codeReviewer.decision.noDecision | ไม่มีข้อสรุป,agents.githubInstall.pendingTitle | รอการอนุมัติจากผู้ดูแลองค์กร,agentChat.remoteSession.exitUnavailable,agentChat.newSession.noProfiles,agentChat.newSession.repoProfile,agentChat.sessionChanges.tooLarge,deviceSessions.signOutThisSessionMessagewithdevice: 'Pixel 7',authErrors.invalidToken,authErrors.default,chat.attachmentPicker.cameraAccessMessage,appActions.start.repositoryUnsupportedwithrepository: 'acme/repo',profiles.agents.slug,profiles.agents.slugRequired,profiles.agents.slugConflictalerts and placeholders behind authenticated screens.
Proxy answers
The owner's proxy gave these answers in the owner's place.
Answer: สด (Recommended)
Confidence: 0.70 · Precedent: UX: 'remove redundant copy'; keep badges terse and consistent (session a247f3c19b1e)
Answer: en "e.g. Code", th "เช่น code" (Recommended)
Confidence: 0.65 · Precedent: UX: 'Keep similar elements consistent across surfaces' (session a247f3c19b1e, thought row matching tool call row)
Answer: Yes, use ผู้ดูแลองค์กร in both (Recommended)
Confidence: 0.80 · Precedent: UX: 'Keep similar elements consistent across surfaces' (session a247f3c19b1e)
Answer: Also sweep other ตัวแทน entries
Confidence: 0.50 · Precedent: Autonomy: 'fix the class of the issue ... on every affected surface' (session 75f8833fe8c1) and 'if you saw a gap, fix it' (session 89824a222897)
Answer: Confirm (Recommended)
Confidence: 0.80 · Precedent: UX: 'Keep similar elements consistent across surfaces' (session a247f3c19b1e)
Answer: All th.json occurrences (Recommended)
Confidence: 0.85 · Precedent: Fix the root cause and the class of the issue: session 00eb2a1d3e4b, "if anything repeats the same mistake over and over again, fix the class"
Answer: ใช้ "ตัวระบุ" (Recommended)
Confidence: 0.55 · Precedent: none
Answer: Fix ทาก too
Confidence: 0.80 · Precedent: If you see a gap or an error, fix it: session 89824a222897, "if you saw a gap, fix it"; session a247f3c19b1e, "fix the error even though it's unrelated"
agentChat.prBadge.draftto "PR ฉบับร่าง" andprReview.merge.blocked.draftTitleto "PR ฉบับร่าง", leavingprBadge.closed/mergedas the buggy "pR ..." that this item fixes. check-catalogs case-folds English, so "draft pull request" now has two Thai renderings ("PR ฉบับร่าง" vs this branch's "พูลรีเควสต์ฉบับร่าง") and fails the catalog check. Which terminology should the prBadge row use?Answer: PR across the badge
Confidence: 0.60 · Precedent: UX: 'Keep similar elements consistent across surfaces' (session a247f3c19b1e, thought row must match tool call row); Product scope: 'Trust the code over documents' (session 269375d6e466, 'only trust code'). Main's merged fix(mobile): correct Thai PR review terminology #7999 now uses PR, so the badge follows it instead of reverting a fresh merge.