Browse Source

设置切换语言重启

weicu
fdp 1 year ago
parent
commit
ac9e500790
  1. 10
      lib/modules/settings/controllers/settings_controller.dart

10
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<void> 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();
}

Loading…
Cancel
Save