Mozilla Product Localisation

Mozilla is the organisation credited with giving the world the Firefox web browser, Thunderbird e-mail client and many more. Most of the Mozilla products can be localised and this page (and pages linked to) aims to be a comprehensive resource of information about this process.

This page gives a broad overview of the localisation processes involved when localising Mozilla products using PO files, the Translate Toolkit and other PO based tool such as Pootle and Virtaal.

Product-specific information are on the projects’ own pages:

Localising Mozilla on Pootle

FIXME work in progress, we’ll cleanup and retire the other information and the Pootle way will be the only one that we talk about

So you want to translate Firefox into your language. To start is simple, to complete is a bit harder.

Before you begin lets be realistic about how much effort is required. If you can translate 1,500 words a day, like most professional translators, you can expect to complete Firefox in 20 days if you work fulltime. But you will still need to review the translations and perform in product review. So this is a lot of work.

We’re helping to reduce that effort. While you translate we’ll build the files needed by Firefox for you as we do for our South African and African languages. This takes a lot off your shoulders and you can happily begin translating without any knowledge of what happens at Mozilla, the files formats, etc.

What do I need to do to get started

  1. Check that nobody else is doing your language. If they are, please join them. If not we’re happy to host your translations.
  2. Create an account on Pootle.
  3. Ask us to add your language. We’ll enable your language, give you rights to enable others and leave you to translate.
  4. Begin translating the user1 component (the others look shorter and easier but please don’t waste your time)

What should I translate next?

We have developed a number of modules that allow you to focus on the most important strings first.

How do I get my translations into Firefox

  1. First, complete the key translations needed for Firefox
  2. Apply for your language to be included
  3. You will need to respond to a number of bugs that need fiing for your language. We can help you here, for most minority languages taking American English defaults is the correct approach.

Translation file formats used by Mozilla

Mozilla products use monolingual translation formats and is further discussed here.

Localisation work-flow

The Mozilla L10n project page contains the rest of the information needed to start a new localisation or join an existing localisation team.

  • Preparing translation files: POT files for any string frozen version of Firefox or Thunderbird can be downloaded from the Mozilla l10n server or you can create it yourself. You can then create updated PO files with pomigrate2. These scripts can help to keep a repository of Mozilla PO files up to date and ready for translation.
  • Translating the PO files: The PO files can now be translated using your favourite CAT tool, like Pootle for sharing the workload in a team or Virtaal to translate off-line.
  • Check for product specific issues: The Firefox and Thunderbird pages describe some of these issues.
  • QA and bug checking: You need to test your build. Probably the best preventative step you can take it to run pofilter’s variable, accelerator and escapes tests. Errors that these tests pick up are all capable of introducing potential breakage that is hard to trace.
  • Preparing translation files for uploading: The PO files now need to be converted back to the original monolingual files before they can be committed to the Mozilla repositories. The po2moz tool can be used to recreate the original file structure using the new translations.

Useful odds and ends

Dialogue Sizes

Various dialogues are sized within the XUL work. Often they have entries in the DTD which allow you to change the size of the dialogue. It is a very time-consuming process, but hopefully the bookmarklet and instructions created by Axel Hecht will help you quickly get the correct size to enter into your final files.

For reference:

  • Put the following text into the location field of a new bookmark (therefore won’t work with Thunderbird): (Make sure that you are not putting in smart (round) quotes produced by the wiki software)

    javascript:(function(){var p=2;var cs=window.getComputedStyle(document.documentElement,null);var fs=cs.getPropertyCSSValue('font-size').getFloatValue(5);var w=cs.getPropertyCSSValue('width').getFloatValue(5);var h=cs.getPropertyCSSValue('height').getFloatValue(5);prompt('Dialog size:', 'width: '+Math.ceil(w/fs*p)/p+'; height: '+Math.ceil(h/fs*p)/p+';');})();
  • Browse to the correct XUL file with Firefox, for example chrome://browser/components/preferences/preferences.xul.

  • Choose your bookmark with the JavaScript and a message box displays the width and height.

Requirements for official build

Locale Switcher

This multi locale switcher is best for use in cases where you will have more than one language to install. Even with two it is much cleaner then other locale switchers available.


There are some requirements which stem from the trademark policy. Mozilla products can be released as either an official build or a community release.