setLanguage static method
Implementation
static Future<void> setLanguage({String? lang}) async {
String key = 'lang';
final prefs = await SharedPreferences.getInstance();
if (prefs.getString(key) != null && lang == null) {
lang = prefs.getString(key);
}
final languages = Languages();
if (lang == null) {
lang = languages.vi;
CoreConstants.locale = CoreConstants.localeVI;
CoreConstants.localeLang = CoreConstants.localeVILang;
} else {
if (languages.isVI(lang)) {
CoreConstants.locale = CoreConstants.localeVI;
CoreConstants.localeLang = CoreConstants.localeVILang;
} else {
CoreConstants.locale = CoreConstants.localeEN;
CoreConstants.localeLang = CoreConstants.localeENLang;
}
}
var file = await rootBundle.loadString(lang);
await prefs.setString(key, lang);
phrases = jsonDecode(file);
}