Ñò
ž²Hc @ s= d Z d d k Z d d k Z d g Z d Z e d „ Z d S( s¿ Writing of files in the ``gettext`` MO (machine object) format.
:since: version 0.9
:see: `The Format of MO Files
`_
iÿÿÿÿNt write_mos restructuredtext enc C sÑ t | ƒ } | p; g } | d D] } | i p | | q" q" ~ | d )n | i ƒ d } } g } x†| D]~} | i oÔ d i g }
| i D] } |
| i | i ƒ q“ ~
ƒ } g } xX t | i ƒ D]G \ }
} | p' | i
| i t t |
ƒ d ƒ ƒ qÎ | i
| ƒ qÎ Wd i g } | D] } | | i | i ƒ q*~ ƒ } nN | i i | i ƒ } | i p | i i | i ƒ } n | i i | i ƒ } | i
t
| ƒ t
| ƒ t
| ƒ t
| ƒ f ƒ | | d 7} | | d 7} qo Wd
d t
| ƒ } | t
| ƒ } g } g } xB | D]: \ } } } } | | | | g 7} | | | | g 7} q(W| | } | i t i d d d t
| ƒ d d t
| ƒ d
d d ƒ t i d | ƒ i ƒ | | ƒ d S( s¶ Write a catalog to the specified file-like object using the GNU MO file
format.
>>> from babel.messages import Catalog
>>> from gettext import GNUTranslations
>>> from StringIO import StringIO
>>> catalog = Catalog(locale='en_US')
>>> catalog.add('foo', 'Voh')
>>> catalog.add((u'bar', u'baz'), (u'Bahr', u'Batz'))
>>> catalog.add('fuz', 'Futz', flags=['fuzzy'])
>>> catalog.add('Fizz', '')
>>> catalog.add(('Fuzz', 'Fuzzes'), ('', ''))
>>> buf = StringIO()
>>> write_mo(buf, catalog)
>>> buf.seek(0)
>>> translations = GNUTranslations(fp=buf)
>>> translations.ugettext('foo')
u'Voh'
>>> translations.ungettext('bar', 'baz', 1)
u'Bahr'
>>> translations.ungettext('bar', 'baz', 2)
u'Batz'
>>> translations.ugettext('fuz')
u'fuz'
>>> translations.ugettext('Fizz')
u'Fizz'
>>> translations.ugettext('Fuzz')
u'Fuzz'
>>> translations.ugettext('Fuzzes')
u'Fuzzes'
:param fileobj: the file-like object to write to
:param catalog: the `Catalog` instance
:param use_fuzzy: whether translations marked as "fuzzy" should be included
in the output
i t t i i i t Iiiiiiil Þ* i i t iNi i i ( t listt fuzzyt sortt pluralizablet joint idt encodet charsett enumeratet stringt appendt mint intt lent writet structt packt arrayt tostring( t fileobjt catalogt use_fuzzyt messagest _[1]t mt idst strst offsetst messaget _[2]t msgidt msgstrst idxR t _[3]t msgstrt keystartt
valuestartt koffsetst voffsetst o1t l1t o2t l2( ( s9 /usr/lib/python2.6/site-packages/babel/messages/mofile.pyR sJ ';
3 '4
1
( t __doc__R R t __all__t
__docformat__t FalseR ( ( ( s9 /usr/lib/python2.6/site-packages/babel/messages/mofile.pyt s