1+ import 'package:flutter/widgets.dart' ;
2+
13enum SupportedLanguage {
24 english,
35 hindi,
46 marathi,
5- french,
6- spanish,
7- bengali,
7+ french,
8+ spanish,
9+ bengali,
810}
911
10-
1112extension SupportedLanguageExtension on SupportedLanguage {
1213 String get languageCode {
1314 switch (this ) {
@@ -18,11 +19,11 @@ extension SupportedLanguageExtension on SupportedLanguage {
1819 case SupportedLanguage .marathi:
1920 return 'mr' ;
2021 case SupportedLanguage .french:
21- return 'fr' ;
22+ return 'fr' ;
2223 case SupportedLanguage .spanish:
23- return 'es' ;
24+ return 'es' ;
2425 case SupportedLanguage .bengali:
25- return 'bn' ;
26+ return 'bn' ;
2627 default :
2728 return '' ;
2829 }
@@ -37,13 +38,24 @@ extension SupportedLanguageExtension on SupportedLanguage {
3738 case 'mr' :
3839 return SupportedLanguage .marathi;
3940 case 'fr' :
40- return SupportedLanguage .french;
41+ return SupportedLanguage .french;
4142 case 'es' :
42- return SupportedLanguage .spanish;
43+ return SupportedLanguage .spanish;
4344 case 'bn' :
44- return SupportedLanguage .bengali;
45+ return SupportedLanguage .bengali;
4546 default :
4647 return null ;
4748 }
4849 }
50+
51+ static SupportedLanguage getSystemLanguage () {
52+ // Get the current system locale
53+ final String systemLocale =
54+ WidgetsBinding .instance.window.locale.languageCode;
55+ debugPrint ('System Locale: $systemLocale ' );
56+
57+ final supportedLanguage = fromCode (systemLocale);
58+ // Return the supported language or default to English
59+ return supportedLanguage ?? SupportedLanguage .english;
60+ }
4961}
0 commit comments