Skip to content

Commit 7a01f8d

Browse files
committed
feat(l10n): add localization support for SourceType enum
- Create new extension `SourceTypeL10n` for SourceType enum - Add `localizedName` method to return localized name based on AppLocalizations - Cover all SourceType cases for localization
1 parent d412df0 commit 7a01f8d

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import 'package:core/core.dart';
2+
import 'package:flutter_news_app_web_dashboard_full_source_code/l10n/app_localizations.dart';
3+
4+
/// Adds localization support to the [SourceType] enum.
5+
extension SourceTypeL10n on SourceType {
6+
/// Returns the localized name for the source type.
7+
///
8+
/// This requires an [AppLocalizations] instance, which is typically
9+
/// retrieved from the build context.
10+
String localizedName(AppLocalizations l10n) {
11+
switch (this) {
12+
case SourceType.newsAgency:
13+
return l10n.sourceTypeNewsAgency;
14+
case SourceType.localNewsOutlet:
15+
return l10n.sourceTypeLocalNewsOutlet;
16+
case SourceType.nationalNewsOutlet:
17+
return l10n.sourceTypeNationalNewsOutlet;
18+
case SourceType.internationalNewsOutlet:
19+
return l10n.sourceTypeInternationalNewsOutlet;
20+
case SourceType.specializedPublisher:
21+
return l10n.sourceTypeSpecializedPublisher;
22+
case SourceType.blog:
23+
return l10n.sourceTypeBlog;
24+
case SourceType.governmentSource:
25+
return l10n.sourceTypeGovernmentSource;
26+
case SourceType.aggregator:
27+
return l10n.sourceTypeAggregator;
28+
case SourceType.other:
29+
return l10n.sourceTypeOther;
30+
}
31+
}
32+
}

0 commit comments

Comments
 (0)