Found while measuring the empty-state surfaces for #7132. Out of scope there, filed rather than fixed.
packages/plugin-detail/src/ActivityTimeline.tsx:138:
<DataEmptyStatetitle="No activity recorded"className="py-6"/>
The title is a raw English string literal. It is not a t() call and not an inline defaultValue — it never reaches the pack system at all, so it stays English in all ten locales.
Why it is worth a card
Its sibling on the same surface does it correctly. RecordActivityTimeline.tsx:415 renders the same state as:
title={emptyLabel ?? t('detail.noActivity')}So the key already exists and is already translated in the packs — this call site simply does not use it. That makes the fix small and the current state a straightforward inconsistency rather than a missing-translation project.
Measured
Rendered ActivityTimeline with activities={[]}; the empty box reads text="No activity recorded" with the literal coming straight from the JSX, not from a pack lookup.
⚠️ Note for whoever takes this: confirm whether detail.noActivity is the right key for this component's phrasing before reusing it, rather than assuming the two surfaces want identical copy. If they do want different copy, that is a new key in en.ts plus its nine sibling packs, with all-locales-key-parity green — never an inline defaultValue (#3517).
Refs: #7132.
Found while measuring the empty-state surfaces for #7132. Out of scope there, filed rather than fixed.
packages/plugin-detail/src/ActivityTimeline.tsx:138:The title is a raw English string literal. It is not a
t()call and not an inlinedefaultValue— it never reaches the pack system at all, so it stays English in all ten locales.Why it is worth a card
Its sibling on the same surface does it correctly.
RecordActivityTimeline.tsx:415renders the same state as:So the key already exists and is already translated in the packs — this call site simply does not use it. That makes the fix small and the current state a straightforward inconsistency rather than a missing-translation project.
Measured
Rendered
ActivityTimelinewithactivities={[]}; the empty box readstext="No activity recorded"with the literal coming straight from the JSX, not from a pack lookup.detail.noActivityis the right key for this component's phrasing before reusing it, rather than assuming the two surfaces want identical copy. If they do want different copy, that is a new key inen.tsplus its nine sibling packs, withall-locales-key-paritygreen — never an inlinedefaultValue(#3517).Refs: #7132.