Repository navigation
fix(mobile): name the Thai MCP secret badge as a count - #8584
Conversation
The Thai lock badge on a profile's MCP server row announced "the counting of
secrets" followed by the number. The badge carries only the number as visible
text, so its accessibility label has to name the quantity.
Use the catalog's established quantity prefix and the wording the adjacent
variable-secret controls already use, so the label reads as a number of
secrets. The key, placeholder and the "<label>: {{count}}" shape stay as they
are, and no other catalog changes.
|
bot: Emulator evidence for the Thai MCP server row badge on this PR. Exercised: local dev stack on the work VM, Android emulator, app switched to Thai, fake-account sign-in, a seeded profile owning one remote MCP server with one header key. Opened Profile → the profile → MCP servers. Both captures are the same screen before and after the fixed Thai catalog was served by Metro; the visible badge content is the bare number in both runs, because the changed string is the badge's accessibility label. The label was read from the accessibility tree (
Attachments: |
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummarySingle-value Thai catalog correction for the MCP Assumptions: Files Reviewed (1 file)
Reviewed by deepseek-flash-latest · Input: 84.1K · Output: 3.1K · Cached: 248.3K Review guidance: REVIEW.md from base branch |


What changed
The Thai lock badge on a profile's MCP server row is an accessibility label whose visible content is only the number of env/header keys. In Thai it read as "the counting of secrets", i.e. the act of counting rather than the quantity being announced.
This change retranslates that one value in the Thai mobile catalog to
จำนวนความลับ: {{count}}— "number of secrets: N". It uses the quantity prefix the catalog already uses for counts (จำนวนครั้งที่รีสตาร์ท) and the term the adjacent variable-secret controls use (ทำเครื่องหมายว่าเป็นความลับ,ค่าความลับ), so the badge and its neighbours name the same thing.Nothing else moves: same key, same
{{count}}placeholder, same<label>: Nshape every catalog now carries, no plural family invented (English has none for this key), no wording-exception entry, and no other locale touched.Verification
Catalog path diff against
main: 1 changed value, 0 added keys, 0 removed keys (3360 keys on both sides).pnpm --filter kilo-app check:i18n—check-catalogs: 87 languages, every catalog matches en.json.pnpm --filter kilo-app check:plurals— source plural families intact.pnpm --filter kilo-app format:check— clean.pnpm --filter kilo-app exec vitest run src/i18n src/components/profiles— 44 files, 1899 tests passed.Android emulator, real dev stack, Thai locale, seeded profile with one MCP server carrying one header key:
การนับความลับ: 1;จำนวนความลับ: 1.Both read from
uiautomator dumpon the MCP servers screen; the visible child text stays the bare1in both runs. The changed string is an accessibility label, so it is not visible in pixels — the proof is the accessibility-tree dump, not the screenshots.Proxy answers
The owner's proxy gave these answers in the owner's place.
Answer: จำนวนความลับ: {{count}}
Confidence: 0.70 · Precedent: Keep similar elements consistent across surfaces, "thought row match the tool call row". The จำนวน prefix and the ความลับ term match the neighbouring copy and the shared ": N" shape.
Answer: Also boot the Android emulator
Confidence: 0.55 · Precedent: Require valid end-to-end proof on every PR: logs and/or screenshots are mandatory proof. Prove behavior with real clients. A mounted test is not end-to-end. Read the badge's content-desc on the emulator, and run the render smoke and check:i18n while the stack boots.
Answer: Thai only
Confidence: 0.55 · Precedent: Put each separate concern in its own PR, "in a separate PR". The brief limits this PR to the Thai value. The other locales' literal "secret counting" wording is a separate translation concern.