diff --git a/lib/modules/settings/controllers/settings_controller.dart b/lib/modules/settings/controllers/settings_controller.dart index 7e8e8a090..0f84a5059 100644 --- a/lib/modules/settings/controllers/settings_controller.dart +++ b/lib/modules/settings/controllers/settings_controller.dart @@ -1,9 +1,11 @@ +import 'package:agent_service/agent_service.dart'; import 'package:get/get.dart'; import 'package:flutter/material.dart'; import 'package:dio/dio.dart'; import 'package:get_storage/get_storage.dart'; import '../../../core/themes/theme_service.dart'; import '../../../data/services/speech_factory.dart'; +import '../../../routes/app_routes.dart'; import '../models/language_model.dart'; import 'package:logger/logger.dart'; import '../../../data/services/ble_manager.dart'; @@ -381,15 +383,21 @@ class SettingsController extends GetxController { } } - void setLanguage(LanguageModel data) { + Future setLanguage(LanguageModel data) async { if (data.value != 'system') { List languageList = data.value.split('_'); Get.updateLocale(Locale(languageList[0], languageList[1])); } else { Get.updateLocale(Get.deviceLocale!); } + print("languageList: ${data.value}"); language.value = data; _storage.write('language', data.value); + // 延迟一下确保语言更新完成,然后重新进入应用 + await Future.delayed(const Duration(milliseconds: 500)); + + // 重新进入应用 - 回到启动页面重新初始化 + Get.offAllNamed(Routes.splash); Get.back(); }