Viewing file: babel.messages.pofile-module.html (15.93 KB) -rw-r--r-- Select action/file-type: (+ ) | (+ ) | (+ ) | Code (+ ) | Session (+ ) | (+ ) | SDB (+ ) | (+ ) | (+ ) | (+ ) | (+ ) | (+ ) |
babel.messages.pofile
Module pofile
Reading and writing of files in the gettext PO (portable object)
format.
iterator
read_po (fileobj ,
locale =None ,
domain =None ,
ignore_obsolete =False )
Read messages from a gettext PO (portable object) file from the given
file-like object and return a Catalog .
write_po (fileobj ,
catalog ,
width =76 ,
no_location =False ,
omit_header =False ,
sort_output =False ,
sort_by_file =False ,
ignore_obsolete =False ,
include_previous =False )
Write a gettext PO (portable object) template file for a given
message catalog to the provided file-like object.
read_po (fileobj ,
locale =None ,
domain =None ,
ignore_obsolete =False )
Read messages from a gettext PO (portable object) file from the given
file-like object and return a Catalog .
>>> from StringIO import StringIO
>>> buf = StringIO('''
... #: main.py:1
... #, fuzzy, python-format
... msgid "foo %(name)s"
... msgstr ""
...
... # A user comment
... #. An auto comment
... #: main.py:3
... msgid "bar"
... msgid_plural "baz"
... msgstr[0] ""
... msgstr[1] ""
... ''' )
>>> catalog = read_po(buf)
>>> catalog.revision_date = datetime(2007, 04, 01)
>>> for message in catalog:
... if message.id:
... print (message.id, message.string)
... print ' ' , (message.locations, message.flags)
... print ' ' , (message.user_comments, message.auto_comments)
(u'foo %(name)s', '')
([(u'main.py', 1)], set([u'fuzzy', u'python-format']))
([], [])
((u'bar', u'baz'), ('', ''))
([(u'main.py', 3)], set([]))
([u'A user comment'], [u'An auto comment'])
Parameters:
fileobj
- the file-like object to read the PO file from
locale
- the locale identifier or Locale object, or None
if the catalog is not bound to a locale (which basically
means it's a template)
domain
- the message domain
ignore_obsolete
- whether to ignore obsolete messages in the input
Returns: iterator
an iterator over (message, translation, location) tuples
write_po (fileobj ,
catalog ,
width =76 ,
no_location =False ,
omit_header =False ,
sort_output =False ,
sort_by_file =False ,
ignore_obsolete =False ,
include_previous =False )
Write a gettext PO (portable object) template file for a given
message catalog to the provided file-like object.
>>> catalog = Catalog()
>>> catalog.add(u'foo %(name)s' , locations=[('main.py' , 1)],
... flags=('fuzzy' ,))
>>> catalog.add((u'bar' , u'baz' ), locations=[('main.py' , 3)])
>>> from StringIO import StringIO
>>> buf = StringIO()
>>> write_po(buf, catalog, omit_header=True)
>>> print buf.getvalue()
#: main.py:1
#, fuzzy, python-format
msgid "foo %(name)s"
msgstr ""
<BLANKLINE>
#: main.py:3
msgid "bar"
msgid_plural "baz"
msgstr[0] ""
msgstr[1] ""
<BLANKLINE>
<BLANKLINE>
Parameters:
fileobj
- the file-like object to write to
catalog
- the Catalog instance
width
- the maximum line width for the generated output; use None
,
0, or a negative number to completely disable line wrapping
no_location
- do not emit a location comment for every message
omit_header
- do not include the msgid "" entry at the top of the
output
sort_output
- whether to sort the messages in the output by msgid
sort_by_file
- whether to sort the messages in the output by their
locations
ignore_obsolete
- whether to ignore obsolete messages and not include
them in the output; by default they are included as
comments
include_previous
- include the old msgid as a comment when
updating the catalog