TranslationCatalog constructor

const TranslationCatalog({
  1. required String name,
  2. required String files,
  3. String template,
})

One file per locale, named for it, each a flat object of key to string: en.json holding {"save": "Save"}.

Unnamed because it is the shape every declaration had before there was a choice, so those go on compiling.

files is a glob, package-relative like every other path in this file, and the locale is each file's base name: en.json is en. That is a convention rather than a parse, and a file whose name is not a locale tag is skipped rather than loaded as a locale called schema.

Implementation

const factory TranslationCatalog({
  required String name,
  required String files,
  String template,
}) = FilePerLocaleCatalog;