Files
fcs/lib/pages/main/model/language_model.dart

46 lines
1.2 KiB
Dart
Raw Normal View History

2020-10-07 02:33:06 +06:30
import 'package:fcs/localization/transalation.dart';
import 'package:fcs/helpers/shared_pref.dart';
2020-09-04 15:30:10 +06:30
import 'package:flutter/painting.dart';
import 'base_model.dart';
class LanguageModel extends BaseModel {
2021-09-10 15:15:20 +06:30
late String language;
2020-09-04 15:30:10 +06:30
bool get isEng => this.language == "English";
List<bool> get currentState => isEng ? [true, false] : [false, 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],
};
LanguageModel() {
load();
}
@override
logout() async {}
Future<String> load() async {
var data = await SharedPref.getLang();
String result = languagesList[1]; // defalut to english
if (data != null) {
result = data;
}
this.language = result;
Translation().onLocaleChanged(Locale(languagesMap[this.language]));
notifyListeners();
return result;
}
void saveLanguage(String language) async {
Translation().onLocaleChanged(Locale(languagesMap[language]));
SharedPref.saveLang(language);
this.language = language;
notifyListeners();
}
}