dvPluralCategoriesFor function

Set<DVPluralCategory> dvPluralCategoriesFor(
  1. String locale
)

Which categories locale uses.

So a catalogue can be validated: a Polish catalogue missing few is a build error rather than a string that silently falls back to other.

Implementation

Set<DVPluralCategory> dvPluralCategoriesFor(String locale) {
  switch (dvLanguageOf(locale)) {
    case 'ja':
    case 'zh':
    case 'ko':
    case 'vi':
    case 'th':
    case 'id':
    case 'ms':
    case 'my':
    case 'lo':
    case 'km':
      return <DVPluralCategory>{DVPluralCategory.other};

    case 'pl':
    case 'ru':
    case 'uk':
      return <DVPluralCategory>{
        DVPluralCategory.one,
        DVPluralCategory.few,
        DVPluralCategory.many,
        DVPluralCategory.other,
      };

    case 'cs':
    case 'sk':
    case 'lt':
      return <DVPluralCategory>{
        DVPluralCategory.one,
        DVPluralCategory.few,
        DVPluralCategory.many,
        DVPluralCategory.other,
      };

    case 'ro':
      return <DVPluralCategory>{
        DVPluralCategory.one,
        DVPluralCategory.few,
        DVPluralCategory.other,
      };

    case 'ar':
      return DVPluralCategory.values.toSet();

    default:
      return <DVPluralCategory>{DVPluralCategory.one, DVPluralCategory.other};
  }
}