Resolvers re-hashed English labels via generateMessageId() and called i18n._()
against catalogs missing those ids, triggering >500 warnings/sec on self-hosted
instances (#19423).
Stores real MessageDescriptors (with extractor-computed ids) in a message-keyed
registry populated as a side effect of i18nLabel(msg`...`). Resolvers look up
the descriptor and only call i18n._() when the catalog actually has the id,
otherwise fall back to descriptor.message.
A module-load pass with placeholder args runs the standard object/field
builders once at boot so the registry is populated even on server restart
(workspace sync only runs builders for new workspaces).
Co-Authored-By: Claude Opus 4.6 <[email protected]>