The client-side IntlProvider keeps its own build-time message map next
to the ones in i18n/routing.ts and i18n/request.ts, and ca and mn never
made it in. Picking either language merged an empty object over the
English base, so the UI stayed English no matter what the picker said
(#756); the server request config and routing both knew the locales,
the client map was the only gap. Register both and pin the map to the
routing list with a test so a locale cannot ship half-wired again.