Optional ReadonlyallowPartialCatalogues?: booleanAccept a supported locale whose catalogue lacks keys the default locale
defines: warned once per locale at register(), served from the default
locale at lookup. Default false — an incomplete catalogue fails startup.
Optional ReadonlyexposeCatalogues?: { basePath: string; cacheControl?: string }Serve each supported locale's catalogue as JSON at
GET <basePath>/:locale, for a browser that formats after hydration. Off
when absent.
ReadonlybasePath: stringThe route prefix: one or more plain path segments such as /i18n —
letters, digits, ., _, ~ or -, with no segment of only . or .. —
and never the root.
Optional ReadonlycacheControl?: stringThe Cache-Control value. Default 'private, max-age=3600' — never
shared, because a session may refresh its cookie on this response. Set
'public, …' only when no session cookie reaches the route.
Optional Readonlymiddleware?: {How the global resolution middleware is registered.
Optional Readonlycookie?: string | falseOptional Readonlyenabled?: booleanRegister the global middleware. Default true.
Optional Readonlyexclude?: readonly PathPattern[]Optional Readonlypriority?: numberIts priority. Default 45 — after tenant (40), before logging (50).
Optional Readonlyquery?: string | falseOptional ReadonlyonMissing?: "key" | "throw"What t() does for a key no catalogue has: 'key' answers the key and
warns once (default); 'throw' throws MissingMessageError, for tests
and CI.
ReadonlysupportedLocales: readonly string[]The supported BCP 47 tags; the first is the default.
Optional ReadonlytenantLocale?: (tenant: ITenant) => string | undefinedA tenant's default locale; see LocaleMiddlewareOptions.tenantLocale.
Optional ReadonlytimeZone?: stringThe IANA time zone Date values are formatted in. Omitted, the runtime's
own zone is used. A browser formatting the same messages should pass the
same value.
Readonlycatalogues: Readonly<Record<string, MessageCatalogue>>The catalogues, keyed by locale tag.
Optional Readonlysource?: neverOptional Readonlycatalogues?: neverReadonlysource: IMessageSourceA source that loads the catalogues once at register().
Options for
LocalizationPlugin. Exactly one ofcatalogues(static) andsource(loaded once atregister()) is required; supplying both, or neither, is a compile error.