Steps to create a localised po file. Note: These steps are optional. The upstream.pot only needs to be generated once (or whenever strings are changed in the source ) * Make sure your working directory is ./trunk/po/ * Generate upstream.pot pygettext -o upstream.pot ../canoe/canoe ../kayak/kayak ../upstream-base/upstream && xgettext --no-wrap -j -o upstream.pot ../canoe/canoe.glade These steps are required: * Generate a .po for the _new_ language ( in this case portuguese ) LANG=pt_PT.utf8 msginit --no-wrap * Merge new pt.po with the existing upstream.pot msgmerge --no-wrap -U pt.po upstream.pot * Generate .mo files for actual use by gettext mkdir -p pt/LC_MESSAGES/ msgfmt pt.po -o pt/LC_MESSAGES/upstream.mo