55 lines
1.2 KiB
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': {
|
|
|
|
}
|
|
};
|
|
|
|
} |