更新默认本地语言
This commit is contained in:
@@ -91,7 +91,7 @@ Future<void> main() async {
|
||||
final Locale? deviceLocale = Get.deviceLocale;
|
||||
print('系统语言: ${deviceLocale?.languageCode}');
|
||||
|
||||
await loadLanguageSetting();
|
||||
await loadLanguageSetting(deviceLocale?.languageCode);
|
||||
await initLanguageSetting();
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
@@ -121,12 +121,37 @@ Future<void> main() async {
|
||||
});
|
||||
}
|
||||
|
||||
loadLanguageSetting() async {
|
||||
await ef.kvdb.openDir("mht");
|
||||
String? language = await ef.kvdb.read("mht/language");
|
||||
// languageCode 系统默认语言码 en/zh
|
||||
loadLanguageSetting(String? languageCode) async {
|
||||
int code = AppConstants().ent_type;
|
||||
String? language;
|
||||
|
||||
language ??= 'zh_CN';
|
||||
await AppLanguage().loadLanguage(language, project: APPPackageType.MHT.code);
|
||||
if (APPPackageType.MHT.code == code) {
|
||||
await ef.kvdb.openDir("mht");
|
||||
language = await ef.kvdb.read("mht/language");
|
||||
} else if (APPPackageType.TH.code == code) {
|
||||
await ef.kvdb.openDir("th");
|
||||
language = await ef.kvdb.read("th/language");
|
||||
} else {
|
||||
await ef.kvdb.openDir("th");
|
||||
language = await ef.kvdb.read("th/language");
|
||||
}
|
||||
|
||||
// 如果 kvdb 没有存储
|
||||
if (language == null || language.isEmpty) {
|
||||
if (languageCode == null || languageCode.isEmpty) {
|
||||
language = 'en_US'; // 系统默认为空时用 en_US
|
||||
} else {
|
||||
language = (languageCode.toLowerCase() == 'zh') ? 'zh_CN' : 'en_US';
|
||||
}
|
||||
}
|
||||
|
||||
await AppLanguage().loadLanguage(
|
||||
language,
|
||||
project: (APPPackageType.MHT.code == code)
|
||||
? APPPackageType.MHT.code
|
||||
: APPPackageType.TH.code,
|
||||
);
|
||||
}
|
||||
|
||||
void initwebService() {
|
||||
|
||||
Reference in New Issue
Block a user