skywood/lib/global/language/app_language.dart

55 lines
1.2 KiB
Dart

import 'dart:ui';
import 'package:get/get.dart';
import '../../utils/tools/app_sp.dart';
import '../const/common_string.dart';
class AppLanguage extends Translations {
static List<Locale> supportedLocales = [
Locale('en', 'US'),
Locale('zh', 'CN'),
Get.deviceLocale!
];
///切换语言
static void changeLanguage(int languageIndex) {
Locale? appLocale;
switch (languageIndex) {
case 0: //English
appLocale = const Locale('en', 'US');
break;
case 1: //简体中文
appLocale = const Locale('zh', 'CN');
break;
case 2: //跟隨系統
appLocale = Get.deviceLocale;
break;
default:
appLocale = Get.deviceLocale;
break;
}
//保存到本地
// AppBox.shared.language = languageIndex;
// AppSp().setString(CommonString.language, appLocale!.languageCode);
// AppSp().setInt(CommonString.languageIndex, languageIndex);
Get.updateLocale(appLocale!);
}
static Future<Locale?> getLocale() async {
int lint = await AppSp().getInt(CommonString.languageIndex);
return supportedLocales[lint];
}
@override
Map<String, Map<String, String>> get keys => {
'en_US': {
},
'zh_CN': {
}
};
}