Translate Toolkit & Pootle

Tools to help you make your software local

User Tools


Creating Mozilla POT files

You can do this two ways:

  1. Using Mozilla source (from CVS or Mercurial)
  2. Using an en-US XPI file

Using Mercurial

Since Firefox 3.1 and Thunderbird 3.0, Mozilla has switched to using Mercurial for version control. See the Mozilla's L10n on Mercurial page for instructions on how to checkout and update your Mozilla sources and l10n files.

You can use get_moz_enUS.py to extract an en-US directory from the source tree:

get_moz_enUS.py -s mozilla-central/ -d l10n/ -p browser

This will move the correct en-US files to l10n/en-US. You can now create POT files as follows:

moz2po -P l10n/en-US l10n/pot

This will create the POT files in l10n/pot using the American English files from en-US. You now have a set of POT files that you can use for translation or updating your existing PO files.

There are also other scripts that can help with creating and updating POT and PO files for Mozilla localisation.

Using CVS

Firefox versions before 3.1 and Thunderbird versions before 3.0 still has its source in CVS. Check out files from the Mozilla repository. If you don't want to checkout all files do:

make -f client.mk l10n-checkout

The English files are in the mozilla/ module, while the translated files all reside in the l10n/ module. They have different structure but not enough to kill you.

Once you have checked out mozilla/ you will need to get the correct files for en-US. To do this we will create en-US as a pseudo language.

make -f tools/l10n/l10n.mk create-en-US

This will move the correct en-US files to l10n/en-US. You can now create POT files as follows:

moz2po -P l10n/en-US l10n/pot

This will create the POT files in l10n/pot using the American English files from en-US. You now have a set of POT files that you can use for translation or updating your existing PO files.

Using an en-US XPI file

Download an XPI file and run the following:

moz2po -P en-US.xpi pot

You now have a set of POT files in pot.