init method
Future<void>
init({
- LocaleType localeType = LocaleType.asDefined,
- required String languageCode,
- String assetsDirectory = 'lang/',
Initialize NyLocalization with the specified configuration.
Implementation
Future<void> init({
LocaleType localeType = LocaleType.asDefined,
required String languageCode,
String assetsDirectory = 'lang/',
}) async {
if (!assetsDirectory.endsWith('/')) {
assetsDirectory = '$assetsDirectory/';
}
_assetsDir = assetsDirectory;
_localeType = localeType;
_locale = Locale(languageCode);
if (_localeType == LocaleType.device) {
final deviceLocale = PlatformDispatcher.instance.locale;
_locale = Locale(deviceLocale.languageCode);
}
// Get the current language from the language switcher if available.
// Skip in test mode to avoid storage hangs.
if (!Nylo.isTestMode) {
final savedLanguage = await LanguageSwitcher.currentLanguage();
if (savedLanguage != null) {
_locale = Locale(savedLanguage.entries.first.key);
}
}
_values = await _loadLanguageFile(
_locale!.languageCode,
fallbackLanguageCode: languageCode,
);
}