import 'package:freezed_annotation/freezed_annotation.dart'; part 'catalog_term.freezed.dart'; /// A controlled vocabulary entry (genre or mechanic) with both languages. @freezed abstract class CatalogTerm with _$CatalogTerm { const factory CatalogTerm({ required String id, required String nameDe, required String nameEn, }) = _CatalogTerm; const CatalogTerm._(); /// German name for `de`, English for every other language (QUE-05 criterion /// 4: English is the fallback). String localizedName(String languageCode) => languageCode == 'de' ? nameDe : nameEn; }