Edgewall Software

Ticket #423: remove_isplural_from_i18nchoose.diff

File remove_isplural_from_i18nchoose.diff, 2.1 KB (added by hodgestar, 12 years ago)

Removes use of is_plural from i18n:choose implementation

  • genshi/filters/i18n.py

     
    369369        new_stream = []
    370370        singular_stream = None
    371371        singular_msgbuf = None
    372         plural_stream = None
    373372        plural_msgbuf = None
    374373
    375374        numeral = self.numeral.evaluate(ctxt)
    376         is_plural = self._is_plural(numeral, ngettext)
    377375
    378376        for event in stream:
    379377            if event[0] is SUB and any(isinstance(d, ChooseBranchDirective)
     
    387385                    new_stream.append((MSGBUF, None, (None, -1, -1)))
    388386
    389387                elif isinstance(subdirectives[0], PluralDirective):
    390                     if is_plural:
    391                         plural_stream = list(_apply_directives(substream,
    392                                                                subdirectives,
    393                                                                ctxt, vars))
     388                    # plural stream is a convenience for generating a
     389                    # fallback for plurals when no translations exist,
     390                    # its XML structure is not expected to be preserved.
     391                    _plural_stream = list(_apply_directives(substream,
     392                                                           subdirectives,
     393                                                           ctxt, vars))
    394394
    395395            else:
    396396                new_stream.append(event)
     
    400400                                                 s, p, n)
    401401
    402402        singular_msgbuf = ctxt.get('_i18n.choose.singular')
    403         if is_plural:
    404             plural_msgbuf = ctxt.get('_i18n.choose.plural')
    405             msgbuf, choice = plural_msgbuf, plural_stream
    406         else:
    407             msgbuf, choice = singular_msgbuf, singular_stream
    408             plural_msgbuf = MessageBuffer(self)
     403        plural_msgbuf = ctxt.get('_i18n.choose.plural')
    409404
     405        msgbuf, choice = singular_msgbuf, singular_stream
     406
    410407        for kind, data, pos in new_stream:
    411408            if kind is MSGBUF:
    412409                for event in choice: