1
+ import 'package:flutter/widgets.dart' ;
2
+
1
3
enum SupportedLanguage {
2
4
english,
3
5
hindi,
4
6
marathi,
5
- french,
6
- spanish,
7
- bengali,
7
+ french,
8
+ spanish,
9
+ bengali,
8
10
}
9
11
10
-
11
12
extension SupportedLanguageExtension on SupportedLanguage {
12
13
String get languageCode {
13
14
switch (this ) {
@@ -18,11 +19,11 @@ extension SupportedLanguageExtension on SupportedLanguage {
18
19
case SupportedLanguage .marathi:
19
20
return 'mr' ;
20
21
case SupportedLanguage .french:
21
- return 'fr' ;
22
+ return 'fr' ;
22
23
case SupportedLanguage .spanish:
23
- return 'es' ;
24
+ return 'es' ;
24
25
case SupportedLanguage .bengali:
25
- return 'bn' ;
26
+ return 'bn' ;
26
27
default :
27
28
return '' ;
28
29
}
@@ -37,13 +38,24 @@ extension SupportedLanguageExtension on SupportedLanguage {
37
38
case 'mr' :
38
39
return SupportedLanguage .marathi;
39
40
case 'fr' :
40
- return SupportedLanguage .french;
41
+ return SupportedLanguage .french;
41
42
case 'es' :
42
- return SupportedLanguage .spanish;
43
+ return SupportedLanguage .spanish;
43
44
case 'bn' :
44
- return SupportedLanguage .bengali;
45
+ return SupportedLanguage .bengali;
45
46
default :
46
47
return null ;
47
48
}
48
49
}
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
+ }
49
61
}
0 commit comments