Home

polib

polib allows you to manipulate, create, modify gettext files (pot, po and mo files). You can load existing files, iterate through it's entries, add, modify entries, comments or metadata, etc... or create new po files from scratch.

polib supports out of the box any version of python ranging from 2.4 to latest 3.X version.

polib is pretty stable now and is used by many opensource projects.

If you find polib useful, please consider giving a donation via paypal or just tip me if you're using Gittip, any contribution will be greatly appreciated.

btn_donate_LG.gif

Installation

Note: chances are that polib is already packaged for your linux/bsd system, if so, we recommend you use your OS package system, if not then choose a method below:

Installing latest polib version with pip

$ pip install polib

Installing latest polib version from source tarball

Download latest version

$ tar xzfv polib-x.y.z.tar.gz
$ cd polib-x.y.z
$ python setup build
$ sudo python setup.py install

Installing the polib development version

Note: this is not recommended in a production environment.

$ hg clone https://bitbucket.org/izi/polib/
$ cd polib
$ python setup build
$ sudo python setup.py install

Basic usage example

import polib

# load an existing po file
po = polib.pofile('tests/test_utf8.po')

for entry in po:
    # do something with your entry like:
    print entry.msgid, entry.msgstr

# adding an entry
entry = polib.POEntry(msgid='Welcome', msgstr='Bienvenue')
entry.occurrences = [('welcome.py', '12'), ('anotherfile.py', '34')]
po.append(entry)

# saving the modified po file
po.save()

# compile it to an mo file
po.save_as_mofile('tests/test_utf8.mo')

Documentation

polib is generously documented, you can browse the documentation online thanks to the amazing Read The Docs project.

Development

Bugtracker, wiki and mercurial repository can be found at the project's page. New releases are also published on the official Python Package Index.

Credits

Author: David Jean Louis.

References

Updated

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.