Skip to content

Commit

Permalink
Re-reverse logic of ignorePluralRules
Browse files Browse the repository at this point in the history
ignorePluralRules=true, "old" beahvior (default)
ignorePluralRules=false, "new" beahvior
  • Loading branch information
mauriziopinotti committed May 7, 2024
1 parent 33b06e5 commit 33c7c56
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 11 deletions.
2 changes: 1 addition & 1 deletion example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ void main() async {
// startLocale: Locale('de', 'DE'),
// saveLocale: false,
// useOnlyLangCode: true,
// ignorePluralRules: true,
// ignorePluralRules: false,

// optional assetLoader default used is RootBundleAssetLoader which uses flutter's assetloader
// install easy_localization_loader for enable custom loaders
Expand Down
8 changes: 4 additions & 4 deletions lib/src/easy_localization_app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ class EasyLocalization extends StatefulWidget {
/// // "nTimes": "{count, plural, =0{never} =1{once} other{{count} times}}"
/// // Text(AppLocalizations.of(context)!.nTimes(_counter)),
/// // will print "never, once, 2 times" for ALL languages.
/// ignorePluralRules: false
/// ignorePluralRules: true
/// // Use "zero" rule for 0 only if the language is set to do so (e.g. for
/// "lt" but not for "en").
/// // "nTimes": "{count, plural, =0{never} =1{once} other{{count} times}}"
/// // Text(AppLocalizations.of(context)!.nTimes(_counter)),
/// // will print "never, once, 2 times" ONLY for languages with plural rules.
/// ignorePluralRules: true
/// ignorePluralRules: false
/// ```
final bool ignorePluralRules;

Expand Down Expand Up @@ -137,7 +137,7 @@ class EasyLocalization extends StatefulWidget {
this.useOnlyLangCode = false,
this.useFallbackTranslations = false,
this.useFallbackTranslationsForEmptyResources = false,
this.ignorePluralRules = false,
this.ignorePluralRules = true,
this.assetLoader = const RootBundleAssetLoader(),
this.extraAssetLoaders,
this.saveLocale = true,
Expand Down Expand Up @@ -308,7 +308,7 @@ class _EasyLocalizationDelegate extends LocalizationsDelegate<Localization> {
_EasyLocalizationDelegate({
required this.useFallbackTranslationsForEmptyResources,
this.ignorePluralRules = false,
this.ignorePluralRules = true,
this.localizationController,
this.supportedLocales,
}) {
Expand Down
4 changes: 2 additions & 2 deletions lib/src/localization.dart
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class Localization {
Translations? translations,
Translations? fallbackTranslations,
bool useFallbackTranslationsForEmptyResources = false,
bool ignorePluralRules = false,
bool ignorePluralRules = true,
}) {
instance._locale = locale;
instance._translations = translations;
Expand Down Expand Up @@ -119,7 +119,7 @@ class Localization {
}

static PluralRule? _pluralRule(String? locale, num howMany) {
if (!instance._ignorePluralRules) {
if (instance._ignorePluralRules) {
return () => _pluralCaseFallback(howMany);
}
startRuleEvaluation(howMany);
Expand Down
6 changes: 3 additions & 3 deletions test/easy_localization_language_specific_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ void main() {
Localization.load(const Locale('en'),
translations: r.translations,
fallbackTranslations: r.fallbackTranslations,
ignorePluralRules: true);
ignorePluralRules: false);
expect(Localization.instance.plural('hat', 2), 'other hats');
expect(Localization.instance.plural('hat', 0), 'other hats');
expect(Localization.instance.plural('hat', 3), 'other hats');
Expand All @@ -70,7 +70,7 @@ void main() {
Localization.load(const Locale('ru'),
translations: r.translations,
fallbackTranslations: r.fallbackTranslations,
ignorePluralRules: true);
ignorePluralRules: false);
expect(Localization.instance.plural('hat', 2), 'few hats');
expect(Localization.instance.plural('hat', 3), 'few hats');
});
Expand All @@ -85,7 +85,7 @@ void main() {
Localization.load(const Locale('ru'),
translations: r.translations,
fallbackTranslations: r.fallbackTranslations,
ignorePluralRules: true);
ignorePluralRules: false);
expect(Localization.instance.plural('hat', 0), 'many hats');
expect(Localization.instance.plural('hat', 5), 'many hats');
});
Expand Down
2 changes: 1 addition & 1 deletion test/easy_localization_widget_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ void main() async {
await tester.pumpWidget(EasyLocalization(
path: '../../i18n',
supportedLocales: const [Locale('en', 'US'), Locale('ar', 'DZ')],
ignorePluralRules: true,
ignorePluralRules: false,
child: const MyApp(),
));

Expand Down

0 comments on commit 33c7c56

Please sign in to comment.