更新默认本地语言

This commit is contained in:
wyf
2025-08-11 14:55:09 +08:00
parent 50e1ebea20
commit da6da14d6a
16 changed files with 1468 additions and 1290 deletions

View File

@@ -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() {