Commit 2443bb4
`translateMetaItem` / `translateMetaItems` decide whether a metadata type is
localizable by asking `isTranslatableMetaType`, which reads
`TRANSLATABLE_METADATA_TYPES` — a set DERIVED (#3786) from
`METADATA_DOCUMENT_TRANSLATORS`' keys, and those keys are singular-only
(view / action / object / app / dashboard / page), matching
`translateMetadataDocument`'s documented "Canonical metadata type string".
The three `/meta` read handlers handed those helpers the RAW `:type` path
segment. Prime Directive #3 makes PLURAL the canonical REST spelling, so a
caller following the documentation missed the set, the predicate answered
false, and the whole localization was skipped — same route, same document,
same Accept-Language, two different answers.
Normalized in the two helpers (the issue's option 2) rather than at the five
call sites, for the reason #6241 proved: a normalization the callers own is
one a later caller forgets. `metaTypeSingular` leaves an unmapped type
untouched, so the translatable SET is unchanged — only the spellings that
reach it.
Claude-Session: https://claude.ai/code/session_0158ZQo7LiHSxGWpYKuPq1wu
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 121852d commit 2443bb4
3 files changed
Lines changed: 438 additions & 4 deletions
File tree
- .changeset
- packages/rest/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
0 commit comments