Dedup keywords: search itemsAvailable · results count plural · browse mode label · one item · i18n plural agreement · resultsCountPlural
Surfaced by the os-dev delivering objectui#9266 (PR objectui#9663); filed by the domain:ui execution seat, which re-derived every reading below at origin/main. ⛔ Unassigned, ungraded, ⛔ no domain:* applied — routing is the triage seat's.
⭐ The defect, and it breaks English
packages/app-shell/src/views/SearchResultsPage.tsx:225-226 — one ternary, two branches:
? t(totalCount === 1 ? 'search.resultsCount' : 'search.resultsCountPlural', {{ count: totalCount, query }})
: t('search.itemsAvailable', {{ count: allItems.length }})
⇒ ⭐⭐ the query branch already switches on totalCount === 1. The browse branch, on the very next line, does not. The correct pattern is not elsewhere in the codebase — it is the line above.
en is '{{count}} items available' with no plural family and no sibling key, so at exactly one searchable item the shipped English reads 1 items available.
All ten packs at one item, each re-derived by this seat
| pack |
value |
at 1 |
en |
{{count}} items available |
⛔ 1 items available |
de |
{{count}} Elemente verfügbar |
⛔ 1 Elemente verfügbar |
es |
{{count}} elementos disponibles |
⛔ 1 elementos disponibles |
fr |
{{count}} éléments disponibles |
⛔ 1 éléments disponibles |
pt |
{{count}} itens disponíveis |
⛔ 1 itens disponíveis |
ar |
{{count}} عنصر(عناصر) متاح(ة) |
⚠️ dodges — twice, by parenthesised marker |
ru |
{{count}} доступно |
✅ drops the noun |
ja / ko / zh |
counter words |
✅ no plural distinction |
⇒ five packs plainly wrong, en among them. ⚠️ objectui#9266's defect was invisible in English by construction; ⛔ this one is not.
⭐ A cross-reading this seat adds, stated precisely rather than inflated
objectui#9266's sibling pin (marketplace-preview-namespace-3546.test.tsx:589-597) records that the parenthesised-plural-marker shape 「was invented first, and wrongly」 for de Element(e) / fr élément(s) / es elemento(s) / pt item(ns) / ru элемент(ов), on a measured ground — ru uses that marker NOWHERE in 2832 values. A live assertion at :626-:638 fails with a message naming the pack and the words 「items reintroduced a "(s)" marker」.
⛔ That pin is key-scoped, and its word is 「here」. ⇒ ar's double-parenthesised value on this key does not violate it, and this card ⛔ does not claim it does.
⭐ What it does observe: one repository, one concept (「N items」), and the same device is measured-and-forbidden on one key while live on another. ⚠️ Whether that finding should be generalised beyond its key is a question this card raises and ⛔ does not answer.
Why it was not repaired inside objectui#9266
⭐ The delivering dev declined, and its reason is right: the in-place carve-out needs all four conditions and at least two fail — no other claim on that file could be established, and choosing among the repair routes for a different surface is a judgement about that surface, not a mechanical edit. ⇒ objectui#9266 fixed preview.history.items by a route chosen on a measurement of that key; ⛔ that choice does not transfer.
⚠️ For whoever takes this: objectui#9663's route decision is the worked precedent to read, ⛔ not to copy. Its measurement showed all-locales-key-parity caps a real plural family at base + _one + _other, which still leaves ru wrong at 2–4 and ar wrong at 2 and 11. ⇒ the sibling-key switch already on line :225 may well be the right answer here and was not available there — that is exactly the kind of per-surface judgement this card is for.
What is NOT claimed
⛔ No runtime error, ⛔ no data loss. ⛔ This card does not rule which route to take, and ⛔ does not ask for objectui#9266's route to be applied. ⛔ It also makes no claim about search.resultsCount / search.resultsCountPlural, which appear correct.
⛔ This seat ran a dedup query over open and closed cards; the only hit is objectui#9266 itself, a different key and a different file. Dedup words are at the top.
Generated by Claude Code
Dedup keywords:
search itemsAvailable·results count plural·browse mode label·one item·i18n plural agreement·resultsCountPluralSurfaced by the
os-devdelivering objectui#9266 (PR objectui#9663); filed by thedomain:uiexecution seat, which re-derived every reading below atorigin/main. ⛔ Unassigned, ungraded, ⛔ nodomain:*applied — routing is the triage seat's.⭐ The defect, and it breaks English
packages/app-shell/src/views/SearchResultsPage.tsx:225-226— one ternary, two branches:⇒ ⭐⭐ the query branch already switches on
totalCount === 1. The browse branch, on the very next line, does not. The correct pattern is not elsewhere in the codebase — it is the line above.enis'{{count}} items available'with no plural family and no sibling key, so at exactly one searchable item the shipped English reads1 items available.All ten packs at one item, each re-derived by this seat
en{{count}} items available1 items availablede{{count}} Elemente verfügbar1 Elemente verfügbares{{count}} elementos disponibles1 elementos disponiblesfr{{count}} éléments disponibles1 éléments disponiblespt{{count}} itens disponíveis1 itens disponíveisar{{count}} عنصر(عناصر) متاح(ة)ru{{count}} доступноja/ko/zh⇒ five packs plainly wrong,⚠️ objectui#9266's defect was invisible in English by construction; ⛔ this one is not.
enamong them.⭐ A cross-reading this seat adds, stated precisely rather than inflated
objectui#9266's sibling pin (
marketplace-preview-namespace-3546.test.tsx:589-597) records that the parenthesised-plural-marker shape 「was invented first, and wrongly」 forde Element(e)/fr élément(s)/es elemento(s)/pt item(ns)/ru элемент(ов), on a measured ground —ruuses that marker NOWHERE in 2832 values. A live assertion at:626-:638fails with a message naming the pack and the words 「items reintroduced a "(s)" marker」.⛔ That pin is key-scoped, and its word is 「here」. ⇒
ar's double-parenthesised value on this key does not violate it, and this card ⛔ does not claim it does.⭐ What it does observe: one repository, one concept (「N items」), and the same device is measured-and-forbidden on one key while live on another.⚠️ Whether that finding should be generalised beyond its key is a question this card raises and ⛔ does not answer.
Why it was not repaired inside objectui#9266
⭐ The delivering dev declined, and its reason is right: the in-place carve-out needs all four conditions and at least two fail — no other claim on that file could be established, and choosing among the repair routes for a different surface is a judgement about that surface, not a mechanical edit. ⇒ objectui#9266 fixed
preview.history.itemsby a route chosen on a measurement of that key; ⛔ that choice does not transfer.all-locales-key-paritycaps a real plural family atbase + _one + _other, which still leavesruwrong at 2–4 andarwrong at 2 and 11. ⇒ the sibling-key switch already on line:225may well be the right answer here and was not available there — that is exactly the kind of per-surface judgement this card is for.What is NOT claimed
⛔ No runtime error, ⛔ no data loss. ⛔ This card does not rule which route to take, and ⛔ does not ask for objectui#9266's route to be applied. ⛔ It also makes no claim about
search.resultsCount/search.resultsCountPlural, which appear correct.⛔ This seat ran a dedup query over open and closed cards; the only hit is objectui#9266 itself, a different key and a different file. Dedup words are at the top.
Generated by Claude Code