diff --git a/lib/src/localization.dart b/lib/src/localization.dart index dc5fa224..2f320f1b 100644 --- a/lib/src/localization.dart +++ b/lib/src/localization.dart @@ -22,7 +22,9 @@ class Localization { Localization(); static Localization? _instance; + static Localization get instance => _instance ?? (_instance = Localization()); + static Localization? of(BuildContext context) => Localizations.of(context, Localization); @@ -108,9 +110,9 @@ class Localization { return res; } - static PluralRule? _pluralRule(String? locale, num howMany) { + static PluralRule _pluralRule(String? locale, num howMany) { startRuleEvaluation(howMany); - return pluralRules[locale]; + return pluralRules[locale] ?? () => PluralCase.OTHER; } String plural( @@ -135,7 +137,7 @@ class Localization { pluralCase = PluralCase.TWO; break; default: - pluralCase = pluralRule!(); + pluralCase = pluralRule(); } switch (pluralCase) { case PluralCase.ZERO: diff --git a/pubspec.yaml b/pubspec.yaml index a9b5f2f5..b37865bd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -8,18 +8,18 @@ issue_tracker: https://github.com/aissat/easy_localization/issues version: 3.0.2-dev.5 environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=3.0.0 <4.0.0' dependencies: + args: ^2.4.0 + easy_logger: ^0.0.2 flutter: sdk: flutter - shared_preferences: '>=2.0.0 <3.0.0' - intl: '>=0.17.0-0 <=0.17.0' - args: ^2.3.1 - path: ^1.8.1 - easy_logger: ^0.0.2 flutter_localizations: sdk: flutter + intl: ^0.18.0 + path: ^1.8.2 + shared_preferences: ^2.1.0 dev_dependencies: