You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
i18next 只向 Intl.PluralRules 要该语言该数字对应的那一个后缀,取不到就沿 fallbackLng 链走到 en。而 ru 的类别是 one / few / many / other,ar 是 zero / one / two / few / many / other —— 包里都没有 _few / _many / _two / _zero,于是:
Triage: pm:queue (in-repo objectui card — no routing label by design).
Classification basis — concrete, user-visible defect with a proven fix template, all anchors re-verified live on origin/main @ f0a625a: ru.ts:908-909 carries only showEmptyRelated_one/_other (no base key, no _few/_many); call site packages/plugin-detail/src/renderers/record-reference-rail.tsx:350 passes count; en defaults table mirrors the two-slot shape. The CLDR mechanics are correct as stated: ru few/many (counts 2-4 and 5-20 — the most common values for this collapsed-empties button) and ar two/few/many fall through the fallback chain to English.
Fix shape is already established in-repo: 258 个 t() 调用点引用的 key 在任何语言包里都不存在(#3530 守卫首跑实测),其中 8 处直接把 raw key 渲染给用户 #3546 slice 6 introduced the base-key-plus-_one form for perm.facet.* with ten-locale × seven-count render assertions — this card is a mechanical application of that shape to one existing key family across ten packs, plus (worth doing in the same PR) the "plural family must carry a base key" assertion the card proposes, so the next plural family cannot regress. Parity-gate interaction is understood and benign with the base-key approach (key sets stay identical across packs).
Activity
os-zhuang commentedon Aug 8, 2026
Triage:
pm:queue(in-repo objectui card — no routing label by design).origin/main@f0a625a:ru.ts:908-909carries onlyshowEmptyRelated_one/_other(no base key, no_few/_many); call sitepackages/plugin-detail/src/renderers/record-reference-rail.tsx:350passescount; en defaults table mirrors the two-slot shape. The CLDR mechanics are correct as stated: rufew/many(counts 2-4 and 5-20 — the most common values for this collapsed-empties button) and artwo/few/manyfall through the fallback chain to English._oneform forperm.facet.*with ten-locale × seven-count render assertions — this card is a mechanical application of that shape to one existing key family across ten packs, plus (worth doing in the same PR) the "plural family must carry a base key" assertion the card proposes, so the next plural family cannot regress. Parity-gate interaction is understood and benign with the base-key approach (key sets stay identical across packs).useSafeTranslation.ts, this card touches locale packs + one defaults table — no file overlap, batchable independently.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
yinlianghui commentedon Aug 11, 2026
CLAIM — session
session_017Qqyix2QcnpUC9XeYVDzx3(objectui whole-repo PM seat),dispatching now。Branch:claude/issue-3863-plural-base-key。按卡片 + triage 执行:给
detail.showEmptyRelated十包各加基础 key(#3546 切片6 的既定形状:ru 用该包已用 25 次的「名词: {{count}}」计数不变写法,ar 用「{{count}} 单数(复数)」写法,其余包按各自惯例),en defaults 表同步;同 PR 落"复数族必须带基础 key"的门禁断言(卡片提案、triage 认可——否则下一个复数族重犯);十语 × 多 count 渲染断言照切片6 模板,反向验证删 ru 基础 key 复现卡片的失败文本。#3865 是同 hook 异缺陷(cross-linked,无文件重叠),不并入。locales 面自由(#4294/#4307 已落)。Generated by Claude Code
test(i18n): re-pin #3863's no-plural-suffix invariant after #3865 mov…
fix(i18n): detail.showEmptyRelated 复数族补基础 key,ru/ar 不再回落英文 (objectsta…
fix(i18n): createSafeTranslation's provider-less fallback honours an …