load method
Loads the localized JSON assets.
Falls back to English (en.json) if the requested language is not supported
or fails to load.
Implementation
Future<bool> load() async {
try {
final jsonString = await rootBundle.loadString(
'packages/bootstrap_ui_flutter/assets/l10n/${locale.languageCode}.json',
);
final Map<String, dynamic> jsonMap =
json.decode(jsonString) as Map<String, dynamic>;
_localizedStrings = jsonMap.map(
(key, value) => MapEntry(key, value.toString()),
);
return true;
} catch (_) {
// Fallback to English on error
try {
final jsonString = await rootBundle.loadString(
'packages/bootstrap_ui_flutter/assets/l10n/en.json',
);
final Map<String, dynamic> jsonMap =
json.decode(jsonString) as Map<String, dynamic>;
_localizedStrings = jsonMap.map(
(key, value) => MapEntry(key, value.toString()),
);
return true;
} catch (e) {
_localizedStrings = {};
return false;
}
}
}