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 languageCodesList = Translation().supportedLanguagesCodes; static final List languagesList = Translation().supportedLanguages; final Map 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 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(); } }