Skip to content

fix(mobile): correct Finnish share, spend alert and query error copy - #8342

Merged
iscekic merged 2 commits into
mainfrom
drain/fi-share-spend-query-copy
Oct 22, 2026
Merged

iscekic merged 2 commits into
mainfrom
drain/fi-share-spend-query-copy

Conversation

@iscekic

@iscekic iscekic commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

Corrects six Finnish values in the mobile catalog. Value-only change: no keys, no
placeholders, no other locale. The catalog reads as follows after the change:

  • The two query-error headings are periodless, matching the periodless English titles,
    while the description strings keep their sentence punctuation.
  • The share destination search placeholder names recent sessions as an open plural
    scope instead of one last-used session.
  • The share attachment-limit message uses the singular attributive with its singular
    head noun for the one category; the other category and the base key already inflect
    the plural correctly and are unchanged.
  • The hourly-spike alert title uses the hourly word, and its subtitle keeps the scope's
    hourly rate as the subject and names its own p95 baseline, matching the English
    source and the sibling strings in the same section.

Verification

Run on the work VM against this branch:

  • Catalog parity check (i18n lint config plus the catalog parity script): 87 languages,
    every catalog matches English.
  • Plural checker script: every counted message and every locale declares its plural
    categories.
  • Format check over the mobile source: no files differ.
  • Mobile i18n vitest suites: 16 files, 1609 tests pass.
  • Throwaway runtime smoke with the app's own i18next options in Finnish, deleted before
    the commit: every changed key resolves to the new Finnish value with no English
    fallback; the attachment-limit family selects the singular form at count 1 and the
    plural form at count 2 with the placeholder bound; and the query-error component
    renders both headings through its own variant mapping, periodless.

No screenshots: this is a copy-only catalog change with no layout effect, and the
affected surfaces sit behind authentication or a provider connection. The rendered
copy above is the observable result.

Proxy answers

The owner's proxy gave these answers in the owner's place.

  1. Question: Anomaly title: The approved findings cover four fi values (queryError headings, share placeholder, share one-form, spendAlerts subtitle). The sibling spendAlerts.anomalyTitle contains Tunneittainen piikki for English Hourly spike; tunneittainen is not idiomatic Finnish (it reads from tunne, feeling) and the hourly word should be tuntikohtainen. It is not one of the approved findings. Fix it in this PR?
    Answer: Fix it too in the same commit
    Confidence: 0.80 · Precedent: Autonomy: 'If you see a gap or an error, fix it, even if it is not related to the current task' — session 89824a222897, 'if you saw a gap, fix it'
  2. Question: Subtitle wording: Finnish wording for spendAlerts.anomalySubtitle (English: This scope's hourly rate is far above its own p95 baseline). All options keep the scope's hourly rate as the subject and the statistical baseline; alue matches the sibling spendAlerts strings.
    Answer: Tämän alueen tuntitahti on selvästi sen oman p95-vertailutason yläpuolella
    Confidence: 0.75 · Precedent: UX: 'Keep similar elements consistent across surfaces' — session a247f3c19b1e, thought row matches tool call row
  3. Question: Search placeholder: Finnish for share.searchPlaceholder (English Search recent sessions). The current value names one last-used session; all options use the open plural scope.
    Answer: Hae viimeaikaisista istunnoista
    Confidence: 0.80 · Precedent: none
  4. Question: Error headings: The two queryError headings only need their terminal period removed. serverTitle also has a less idiomatic verb (Lataaminen ei onnistunut vs the natural Lataus epäonnistui); the finding asks only for punctuation. Which fix?
    Answer: Drop the period only, keep the current words
    Confidence: 0.65 · Precedent: Speed: 'Do the least work possible with no drop in quality' — session 7f3470e0ba6f, 'do the least amount of work possible, with no drop in quality'

Update six Finnish catalog values so they read as intended:

- queryError.offlineTitle and queryError.serverTitle are headings and drop
  the terminal period, matching the periodless English titles.
- share.onlyFirstFilesAttached_one uses the singular attributive so it
  agrees with its singular head noun.
- share.searchPlaceholder names recent sessions as an open plural scope.
- spendAlerts.anomalySubtitle keeps the scope's hourly rate as the subject
  and names its own p95 baseline.
- spendAlerts.anomalyTitle uses the hourly word.

Placeholders and keys are unchanged.
@iscekic iscekic added drain Work item from the findings drain janitor:i18n Janitor finding: mobile copy and catalog checks labels Oct 20, 2026
@kilo-code-bot

kilo-code-bot Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Executive Summary

Copy-only Finnish catalog update across six values in apps/mobile/src/i18n/locales/fi.json; keys, placeholders and all other locales are untouched, and each new value matches its English source in scope, plurality and heading punctuation.

Files Reviewed (1 file)
  • apps/mobile/src/i18n/locales/fi.json

Verification notes:

  • queryError.offlineTitle / serverTitle now drop the terminal period, matching the periodless English headings (Failed to load, Could not load) and the QueryError title rendering in apps/mobile/src/components/query-error.tsx:30.
  • share.searchPlaceholder now expresses the open plural scope of Search recent sessions; the previous value named a single last-used session.
  • share.onlyFirstFilesAttached_one now uses the singular attributive ensimmäinen with the singular head noun tiedosto. The family is only selected at count === 1, and share-payload-preview.tsx:131 passes AGENT_ATTACHMENT_MAX_FILES (5), so the _other form remains the one rendered at runtime; key-family parity is preserved for the catalog parity and plural tests.
  • spendAlerts.anomalyTitle / anomalySubtitle align with Hourly spike and This scope's hourly rate is far above its own p95 baseline, and stay consistent with the sibling spendAlerts.subtitle wording (tuntitahti).
  • No placeholder, $t() reference, leading/trailing-space, or key-parity rule in tools/i18n/check-catalogs.mjs is affected by these value edits, and no test asserts the old Finnish strings.

Reviewed by deepseek-v4.1-flash-1017 · Input: 40.7K · Output: 6.1K · Cached: 533.5K

Review guidance: REVIEW.md from base branch main

@iscekic iscekic added the merge:bot Bot-owned review; merge when ready once readiness passes and a review approves. label Oct 20, 2026
@iscekic
iscekic added this pull request to the merge queue Oct 21, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 21, 2026
…query-copy

# Conflicts:
#	apps/mobile/src/i18n/locales/fi.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

drain Work item from the findings drain janitor:i18n Janitor finding: mobile copy and catalog checks merge:bot Bot-owned review; merge when ready once readiness passes and a review approves.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants