Skip to content
GitHub

LocaleCatalog

type alias in meocord/common Since 4.1.0

type LocaleCatalog<C> = {
  readonly [K in keyof C]?: C[K] extends string
    ? string
    : IsPlural<C[K]> extends true
      ? PluralMessage
      : LocaleCatalog<C[K]>
}

What a locale other than the default provides: any part of the default catalog, in its own wording.

Its messages may use only the {params} the default's take: createTranslator checks that for a catalog that keeps its text, and expectCompleteCatalog for any.

A message it leaves out falls back to a related locale, then to the default.