Repository navigation
fix(mobile): align Khmer model, endpoint and catalog terms - #8471
Conversation
The Khmer catalog named the same concepts two ways on the chat and model screens. Use the native term for an AI model everywhere the local model chat surface and the MCP settings-tools strings refer to it, name an endpoint with the term the backend help already uses, make the unknown-fit badge and the downloads stat read unambiguously, and give Auto Efficient the adjectival form its Auto siblings use. The inference protocol names stay in English, as every other locale keeps them.
|
bot: Khmer rendering on the Android dev client against the local development stack, with the app language set to Khmer. Each capture was taken on the screen named in its alt text.
|
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryThe Khmer catalog edit is a strings-only change: all nine keys, key paths and Assumptions: Files Reviewed (1 file)
Reviewed by deepseek-flash-latest · Input: 57.7K · Output: 6K · Cached: 556.9K Review guidance: REVIEW.md from base branch |






What changes
One file:
apps/mobile/src/i18n/locales/km.json. Nine user-facing strings, keys and{{placeholders}}unchanged.modelChat.backends.cloudModelmodelChat.backends.cloudUnavailablemodelChat.backends.completionTokenFieldHelpmodelChat.catalog.recommendationsHelpmodelChat.catalog.compatibilityHelpmodelChat.catalog.fit.unknownmodelChat.catalog.downloadsmodelChat.mcp.settingsToolsSubtitlemodelChat.mcp.settingsToolsOn/Offmodels.auto.efficient"Model" now uses the native term the feature already uses 78 times against 7 loanword uses, and which is also the majority term in the catalog (84 against 61). "Endpoint" uses the term the backend help already uses five times; only the completion-token help differed.
Not changed:
modelChat.backends.messagesThat key is the Anthropic protocol option, rendered by
API_KINDSinapps/mobile/src/components/chat/backend-form-state.tsnext tochatCompletionsandresponsesunderbackends.protocol.tools/i18n/check-catalogs.mjsallowlists exactly those three keys as "the inference protocols keep their published API names across locales", andde,fr,esandjaalso keepMessagesin English. Translating it would leave the radio group mixed and contradict the documented intent, so the finding is rejected with that evidence.Verification
pnpm --filter kilo-app check:i18n(the package iskilo-app;@kilocode/mobilematches no project): oxlint i18n rules 0 errors, thencheck-catalogs: 87 languages, every catalog matches en.json.pnpm --filter kilo-app exec vitest run src/i18n: 16 files, 1611 tests pass.pnpm -w exec oxfmt --list-different apps/mobile/src/i18n/locales/km.json: no diff.omp36, Android 16) with the dev client against the local stack, app language set to Khmer. Observed on device:Screenshots of those screens follow in a comment on this pull request.
cloudUnavailableand the settings-tools "off" status were only exercised indirectly: the local stack always had an available cloud model and the group switch was left on, so those two exact values were checked by the catalog parity check rather than read on screen.CI note
The first run's mobile shard 5 failed on
todo-list-model-picker.mounted.test.tsx("No BackHandler export is defined on the react-native mock"). The same shard fails identically onmainat the same commit range, the file passes locally on this branch, and #8475 (merged) adds the missing stub. The branch carries one merge ofmainso the pull-request merge commit picks that fix up; the rerun is green.Proxy answers
The owner's proxy gave these answers in the owner's place.
Answer: គំរូ everywhere (Recommended)
Confidence: 0.90 · Precedent: Do the least work possible with no drop in quality ("do the least amount of work possible, with no drop in quality"); the brief also prefers គំរូ
Answer: មិនដឹងថាសម (Recommended)
Confidence: 0.70 · Precedent: Keep similar elements consistent across surfaces (owner asked that the thought row match the tool call row)
Answer: Keep "Messages" English (Recommended)
Confidence: 0.60 · Precedent: Trust the code over documents ("only trust code"); the checker allowlist and the sibling protocol names stay English, so the radio group stays consistent
Answer: ចំនួនទាញយក៖ {{value}} (Recommended)
Confidence: 0.80 · Precedent: Keep similar elements consistent across surfaces (thought row to match tool call row); the brief asks for a count noun parallel to Likes
Answer: Merge origin/main into the branch (Recommended)
Confidence: 0.90 · Precedent: Git and pull requests: "never rebase, always merge"; merge main only when a conflict or a fix on main needs it ("try merging main in, that may fix the issue")