languageSeed function
Returns the seed document for code, English included.
The code is matched without regard to case, so 'EN', 'En' and 'en' all resolve. A language tag arrives upper-cased often enough --- from a locale, a header, a database column --- that refusing one would be a trap.
Pass this straight to a builder or a preset:
final filter = VulgarityFilter.fromPreset(
json,
languageResolver: languageSeed,
);
Throws ArgumentError when this package carries no pack for the code.
Implementation
String languageSeed(String code) {
final String key = code.toLowerCase();
if (key == 'en') {
return kSeedEn;
}
final String? seed = kLanguageSeeds[key];
if (seed == null) {
throw ArgumentError.value(
code,
'code',
'No pack for this language. Available: '
"${kAvailableLanguages.join(', ')}",
);
}
return seed;
}