setLanguage method
Changes the active language and optionally restarts the app.
Implementation
Future<void> setLanguage(
BuildContext context, {
required String language,
bool restart = true,
}) async {
if (_assetsDir == null) {
NyLogger.error("Cannot set language: assets directory not initialized");
return;
}
try {
_values = await _loadLanguageFile(language);
_locale = Locale(language);
} catch (e) {
NyLogger.error("Failed to load language: $language");
return;
}
if (restart) {
// ignore: use_build_context_synchronously
NyApp.restart(context);
}
}