All enums that provide localized labels accept an S strings parameter instead of using gStrings, enabling reactive locale switching.
Enums use the static gStrings accessor:
String get label => switch (this) {
CleaningTaskSize.xs => gStrings.cleaningTaskSizeXs,
};
Enums accept an S strings parameter:
String label(S strings) => switch (this) {
CleaningTaskSize.xs => strings.cleaningTaskSizeXs,
};
Call sites provide context.strings:
size.label(context.strings)
S strings parameter, not BuildContext contextcontext.stringsgStrings usages remain in any enum fileS strings parameterflutter analyze passeslib/cleaning/enums/cleaning_task_size.dart (5 usages)lib/cleaning/enums/cleaning_time_span.dart (4 usages)lib/data/enums/month.dart (12 usages)lib/feedback/enums/feedback_type.dart (4 usages)lib/l10n/enums/t_supported_language.dart (4 usages)lib/routing/enums/navigation_tab.dart (4 usages)flutter analyzeThe month.dart enum already has a fullName(BuildContext context) method that uses gStrings internally. This should be changed to use context.strings directly since it already has context access.
Reacties