Files
fcs/lib/model/language_model.dart

46 lines
1.2 KiB
Dart
Raw Normal View History

2020-05-29 07:45:27 +06:30
import 'package:flutter/painting.dart';
import 'package:fcs/model/base_model.dart';
import 'package:fcs/model/shared_pref.dart';
import 'package:fcs/vo/setting.dart';
import 'package:fcs/widget/localization/transalation.dart';
class LanguageModel extends BaseModel {
String language;
bool isEng = true;
static final List<String> languageCodesList =
Translation().supportedLanguagesCodes;
static final List<String> languagesList = Translation().supportedLanguages;
final Map<dynamic, dynamic> languagesMap = {
languagesList[0]: languageCodesList[0],
languagesList[1]: languageCodesList[1],
};
void initSetting(Setting setting) async {
this.language = await load();
this.isEng = this.language == "English";
Translation().onLocaleChanged(Locale(languagesMap[language]));
notifyListeners();
}
@override
logout() async {
}
Future<String> load() async {
var data =await SharedPref.getLang();
if (data == null) return languagesList[1];
return data;
}
void saveLanguage(String language) async {
Translation().onLocaleChanged(Locale(languagesMap[language]));
SharedPref.saveLang(language);
this.language = language;
this.isEng = this.language == "English";
notifyListeners();
}
}