Repository navigation
fix(mobile): unify Gujarati to-do session and voice input copy - #9313
Merged
Merged
Conversation
Name a session the same way across the to-do detail, give the single open count a singular adjective, and align the voice input strings on the transcription wording, the offline spelling, and the tap spelling.
Collaborator
Author
|
bot: Gujarati copy verified on the Android dev client against the local stack, signed in as a seeded test account with the app language set to Gujarati. Each capture is paired with a UI tree dump taken in the same command; the quoted strings in the body come from those dumps.
|
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (2 files)
Reviewed by deepseek-flash-latest · Input: 59.9K · Output: 6.8K · Cached: 499.5K Review guidance: REVIEW.md from base branch |
eshurakov
approved these changes
Oct 30, 2026
This was referenced Oct 31, 2026
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.






Evidence
Evidence: partially demonstrated — the six approved findings were confirmed in the Gujarati catalog on main (
78bc53382), and the fixed strings were then observed on the real Android dev client against the local stack, signed in as a seeded test account with the app language set to Gujarati: the to-do detail with four linked sessions, its session overflow sheet and unlink confirm, and the to-do lists' open counts. The voice input settings screen was captured in Gujarati too. Four voice input strings (gatewaySignInRequired,noSpeech,stopped,languageNotInstalledMessage,offlineModelDownloadScheduled) could not be reached on the emulator: its speech service reports no supported locale, so a microphone attempt lands on the "voice input is unavailable for this device's language" line before any consent, download or gateway-auth state, and the gateway sign-in line needs a signed-out request. Those values were verified in-process instead: a throwaway mount of the app's i18n instance withchangeLanguage('gu')asserted each value withexactUsedKeyequal to the key (no English fallback), the singular/plural open count at one and at two, andclassifyVoiceInputErrorfor the gateway-auth, no-speech and aborted codes; that smoke was deleted before the commit.What changed
One locale, values only, in the Gujarati catalog, plus one line in the wording exceptions file.
onecategory reads{{count}} ખુલ્લુંwith the plural kept inother. The one-wording check groups both by the identical English string, so the Gujarati exceptions array gains"{{count}} open"; the Greek, Finnish and Swedish catalogs already take exactly this route for the same family.stoppedandnoSpeechmove to the spellingtestPlaceholderalready uses, so all three instructions in the voice input flow read the same.No key, placeholder, plural category, nesting reference or English value changed. The notifications namespace keeps its own session term: another Gujarati work item owns that block.
Verification
node tools/i18n/check-catalogs.mjs: 87 languages, every catalog matches the English one.node tools/i18n/check-plurals.mjs: every counted message and every locale declares its plural categories.Design gate
Design gate: 4 cells, 0 errors, 13 warnings —
pnpm dev:mobile:design-gate runon the to-do detail and voice input settings links, matrix standard, run against this head and uploaded for it.Warning reasons, all pre-existing and outside this copy change:
touch-targeton the mark-done prompt chip and on the microphone button: both controls exist unchanged on main; this change moves words, not frames.unsettledon both screens: the detail screen carries a relative-time ticker and the voice screen re-renders while its model catalogue query settles, so the sampler never saw three identical frames; neither screen produced a layout-shift or overlap finding.Production prerequisites
None.
Proxy answers
The owner's proxy gave these answers in the owner's place.
Answer: Fix + add the gu exception (Recommended)
Confidence: 0.85 · Precedent: Fix the root cause and the class of the issue: session 8dbecc6e9e16, "please check all languages and so fix the class"; a small fix that unblocks the current PR's CI goes in that PR: session a9522cd75f53, "fix in this PR"
Answer: Change noSpeech too (Recommended)
Confidence: 0.85 · Precedent: Fix the class, not the single symptom: session 00eb2a1d3e4b, "if anything repeats the same mistake over and over again, fix the class"; if you see a gap, fix it: session 89824a222897
Answer: "Kilo Gateway દ્વારા અવાજને લખાણમાં ફેરવવાની સુવિધા વાપરવા સાઇન ઇન કરો." (Recommended)
Confidence: 0.60 · Precedent: none