Edgewall Software

Changeset 1057


Ignore:
Timestamp:
May 12, 2009, 9:37:25 AM (14 years ago)
Author:
palgarvio
Message:

Complete fix for ticket #300.

Location:
branches/experimental/advanced-i18n/genshi/filters
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/experimental/advanced-i18n/genshi/filters/i18n.py

    r1056 r1057  
    164164        strip_directive = [d for d in directives if
    165165                           isinstance(d, StripDirective)]
    166         new_stream.append(stream.next())
    167166        previous = stream.next()
     167        if previous[0] is START:
     168            new_stream.append(previous)
     169        else:
     170            msgbuf.append(*previous)
     171       
     172        previous = stream.next()
     173           
    168174        for kind, data, pos in stream:
    169175            if kind is SUB and not strip_directive:
     
    177183            msgbuf.append(*previous)
    178184            previous = kind, data, pos
     185           
     186        if previous[0] is not END:
     187            msgbuf.append(*previous)
     188            previous = None
    179189
    180190        for event in msgbuf.translate(gettext(msgbuf.format())):
    181191            new_stream.append(event)
    182         new_stream.append(previous)
     192        if previous:
     193            new_stream.append(previous)
    183194        if strip_directive:
    184195            return _apply_directives(new_stream, strip_directive, ctxt)
  • branches/experimental/advanced-i18n/genshi/filters/tests/i18n.py

    r1056 r1057  
    562562            xmlns:i18n="http://genshi.edgewall.org/i18n">
    563563          <i18n:msg params="date, author">
    564             Changed ${ 'one day' } ago by ${ 'me, the author' }
     564            Changed ${ date } ago by ${ author }
    565565          </i18n:msg>
    566566        </html>""")
    567         translator = Translator()
    568         translator.setup(tmpl)
    569         self.assertEqual("""<html>
    570             Changed one day ago by me, the author
    571         </html>""", tmpl.generate().render())
     567        translations = DummyTranslations({
     568            u'Changed %(date)s ago by %(author)s': u'Modificado à %(date)s por %(author)s'
     569        })
     570        translator = Translator(translations)
     571        translator.setup(tmpl)
     572        self.assertEqual("""<html>
     573          Modificado à um dia por Pedro
     574        </html>""", tmpl.generate(date='um dia', author="Pedro").render())
    572575       
    573576       
Note: See TracChangeset for help on using the changeset viewer.