Ejemplo n.º 1
0
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"
Ejemplo n.º 2
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
Ejemplo n.º 3
0
    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