setLocale method
Changes the locale without restarting the app.
Implementation
Future<void> setLocale({required Locale locale}) async {
if (_assetsDir == null) {
NyLogger.error("Cannot set locale: assets directory not initialized");
return;
}
try {
_values = await _loadLanguageFile(locale.languageCode);
_locale = locale;
if (_fallbackLanguageCode != null &&
locale.languageCode != _fallbackLanguageCode) {
_fallbackValues = await _loadLanguageFile(_fallbackLanguageCode!);
} else {
_fallbackValues = null;
}
} catch (e) {
NyLogger.error("Failed to load locale: ${locale.languageCode}");
}
}