Commit eb78c2003be1ad0d1650088ec74bce2e5d6acdd6

Authored by 权海
1 parent 79227d78

feat(ui):取消强制英文测试

@@ -2,47 +2,47 @@ import 'package:flutter/widgets.dart'; @@ -2,47 +2,47 @@ import 'package:flutter/widgets.dart';
2 2
3 Locale resolveAppLocale( 3 Locale resolveAppLocale(
4 Locale? deviceLocale, Iterable<Locale> supportedLocales) { 4 Locale? deviceLocale, Iterable<Locale> supportedLocales) {
5 - // if (deviceLocale == null) return const Locale('en');  
6 - //  
7 - // for (final locale in supportedLocales) {  
8 - // if (locale == deviceLocale) {  
9 - // return locale;  
10 - // }  
11 - // }  
12 - //  
13 - // if (deviceLocale.languageCode == 'zh') {  
14 - // final script = deviceLocale.scriptCode?.toLowerCase();  
15 - // final country = deviceLocale.countryCode?.toUpperCase();  
16 - // final isHant = script == 'hant' ||  
17 - // country == 'TW' ||  
18 - // country == 'HK' ||  
19 - // country == 'MO';  
20 - //  
21 - // return supportedLocales.firstWhere(  
22 - // (locale) =>  
23 - // locale.languageCode == 'zh' &&  
24 - // locale.scriptCode == (isHant ? 'Hant' : 'Hans'),  
25 - // orElse: () => Locale.fromSubtags(  
26 - // languageCode: 'zh',  
27 - // scriptCode: isHant ? 'Hant' : 'Hans',  
28 - // ),  
29 - // );  
30 - // }  
31 - //  
32 - // if (deviceLocale.countryCode != null) {  
33 - // for (final locale in supportedLocales) {  
34 - // if (locale.languageCode == deviceLocale.languageCode &&  
35 - // locale.countryCode == deviceLocale.countryCode) {  
36 - // return locale;  
37 - // }  
38 - // }  
39 - // }  
40 - //  
41 - // for (final locale in supportedLocales) {  
42 - // if (locale.languageCode == deviceLocale.languageCode) {  
43 - // return locale;  
44 - // }  
45 - // } 5 + if (deviceLocale == null) return const Locale('en');
  6 +
  7 + for (final locale in supportedLocales) {
  8 + if (locale == deviceLocale) {
  9 + return locale;
  10 + }
  11 + }
  12 +
  13 + if (deviceLocale.languageCode == 'zh') {
  14 + final script = deviceLocale.scriptCode?.toLowerCase();
  15 + final country = deviceLocale.countryCode?.toUpperCase();
  16 + final isHant = script == 'hant' ||
  17 + country == 'TW' ||
  18 + country == 'HK' ||
  19 + country == 'MO';
  20 +
  21 + return supportedLocales.firstWhere(
  22 + (locale) =>
  23 + locale.languageCode == 'zh' &&
  24 + locale.scriptCode == (isHant ? 'Hant' : 'Hans'),
  25 + orElse: () => Locale.fromSubtags(
  26 + languageCode: 'zh',
  27 + scriptCode: isHant ? 'Hant' : 'Hans',
  28 + ),
  29 + );
  30 + }
  31 +
  32 + if (deviceLocale.countryCode != null) {
  33 + for (final locale in supportedLocales) {
  34 + if (locale.languageCode == deviceLocale.languageCode &&
  35 + locale.countryCode == deviceLocale.countryCode) {
  36 + return locale;
  37 + }
  38 + }
  39 + }
  40 +
  41 + for (final locale in supportedLocales) {
  42 + if (locale.languageCode == deviceLocale.languageCode) {
  43 + return locale;
  44 + }
  45 + }
46 46
47 return const Locale('en'); 47 return const Locale('en');
48 } 48 }