def test_get_plural(): assert plurals.get_plural(locale="en") == (2, "(n != 1)") assert plurals.get_plural(locale="ga") == (3, "(n==1 ? 0 : n==2 ? 1 : 2)") tup = plurals.get_plural("ja") assert tup.num_plurals == 1 assert tup.plural_expr == "0" assert tup.plural_forms == "npurals=1; plural=0" assert str(tup) == "npurals=1; plural=0"
def plural_expr(self): """The plural expression used by the catalog or locale. >>> Catalog(locale='en').plural_expr '(n != 1)' >>> Catalog(locale='ga').plural_expr '(n==1 ? 0 : n==2 ? 1 : 2)' :type: `string_types`""" if self._plural_expr is None: expr = '(n != 1)' if self.locale: expr = get_plural(self.locale)[1] self._plural_expr = expr return self._plural_expr
def num_plurals(self): """The number of plurals used by the catalog or locale. >>> Catalog(locale='en').num_plurals 2 >>> Catalog(locale='ga').num_plurals 3 :type: `int`""" if self._num_plurals is None: num = 2 if self.locale: num = get_plural(self.locale)[0] self._num_plurals = num return self._num_plurals