Localization at Mozilla

Localization (L10n) is the process of translating software user interfaces from one language to another and adapting it to suit a foreign culture. These resources are for anyone with an interest in the technical aspects involved in localization. They are for developers and all contributors.


Application Translation with Mercurial
First, get the required programs to compile Mozilla applications like Firefox and Thunderbird from Build Instructions. This is only necessary once.
Bootstrapping a new locale
(see also https://developer.mozilla.org/en/Create_a_new_localization)
Found 30 pages:
L10n testing with xcode
Once you have your l10n testing environment set up in Xcode, testing your Firefox on iOS localization is a breeze.
Localization and Plurals
You're likely here because you're localizing a .properties file and it had a link to this page. This page is to help explain how to localize these strings so that the correct plural form is shown to the user. E.g., "1 page" vs "2 pages".
Localization content best practices
This document provides best practices for developers to create localizable code, and describes how to avoid some localizability (l12y) common mistakes.
Localization notes
Localizers usually work on the localizable files without the context of the source files including the localized strings; it is important to add comments to the localizable files themselves, too. These comments are generally referred to as localization notes. There is an established format for those, which is described in this document.
Localization prerequisites
To work on localization, you need a subset of the Mozilla Build Prerequisites. On Mac and Linux, you should be just fine, and on Windows, MozillaBuild should get you everything you need.
Localization quick start guide
This guide is filled with all of the basic, technical information you need to get involved in the Mozilla l10n program.
Localization sign-off reviews
This article presents an overview of why we do sign-off reviews of localizations, the details on the criteria used for the sign-off reviews, and the process for requesting a review and for following its progress.
Localization technical reviews
This guide provides details on what a localization technical review is, what criteria are used for the technical reviews, and the process for requesting one and following its progress.
Localization: Frequently asked questions
This page lists tweaks and tips that may not require a complete page on its own. For more detailed documentation about localization in general, see our Localization page.
Localizing XLIFF files for iOS
Firefox for iOS uses the XLIFF XML-based file format to hold and transfer localization data. XLIFF (eXtensible Localisation Interchange File Format) is a localization standard governed by the OASIS standards body. The goal of the standard is to have an XML-based format to use when exchanging localization data between tools without the potential of data loss or corruption. Most translation tools support the XLIFF standard, making localizing the XLIFF files for Firefox for iOS easy to do using translation tools. Editing the raw XLIFF file is also rather easy, especially if you're already familiar with XML. This tutorial will walk you through the steps you need to take to translation strings within an XLIFF file.
Localizing an extension
This article expands upon the previous samples on extension writing by adding localization support to our stock watcher extension. Performing a few simple steps makes your extension much easier to localize into various languages without having to edit the XUL or JavaScript files themselves.
Localizing extension descriptions
This article provides details on how to go about localizing the descriptions of Mozilla add-ons, as well as for other metadata about your add-on.
Localizing extension metadata on addons.mozilla.org
AMO supports localized metadata for each extension. This data describes the extension, and doesn't necessarily change with each revision (but it can). The localizable data fields of an extension are:

These topics may also be of interest:

Localizing with Koala
This tutorial will guide you through making a couple of changes to Firefox's user interface using Koala, an add-on for Komodo Edit created to help localizing Mozilla.
Localizing with Mercurial
In Mozilla, we use the the Mercurial version control system (Hg) to manage our source code and localizations. Mercurial allows localizers to work locally (on their machines) and then push (an Hg term) changes to a remote repository, which usually is hosted on the Mozilla servers (hg.mozilla.org). Localizing current versions of Firefox, Thunderbird and SeaMonkey includes working with Mercurial. If the documentation is incomplete or you have questions, please drop by the #l10n or #hg channels on irc.mozilla.org. The Mercurial FAQ are also worth a read, should you run into trouble.
Localizing with Mozilla Translator
Localizing with Pontoon
Pontoon is a web-based, What-You-See-Is-What-You-Get (WYSIWYG), localization (l10n) tool used to localize web content. At Mozilla, we use Pontoon to localize Mozilla websites and the Firefox OS app interface, known as Gaia. Pontoon is a very simple and intuitive tool that requires little to no technical skill to use in the l10n workflow. Here we'll discuss how to use Pontoon to localize projects, from first sign-in to finalizing your contributions. Along the way, we'll point out some sweet features that will make you more efficient and make your l10n contributions easier.
Localizing without a specialized tool
From the Create a New Localization document, an interested localizer can follow a technical step-by-step process that starts the localization process by focusing on how to localize two of the primary types of localization files (DTD and properties) used in the Mozilla source code. With that document, users can see immediately two localized files in their user interface by following closely and carefully the steps to create a language pack or a binary file that is ready for installation. Repeating the process allows a localizer to create a testable package to see his or her work as they progress to a final version.
Patching a Localization
Say you have found a problem with an existing localization. More specifically, it's a problem with an already released localization. What do you do now? Well, you have come to the right place! This page will walk you through creating a patch for an existing localization. The steps below are fairly generic; for the most part they apply to creating l10n patches for Firefox, Thunderbird, SeaMonkey, or Calendar.
SVN for Localizers
Welcome to the SVN tutorial for localizers! Here you'll learn the process of using SVN to obtain Mozilla website source files from the Mozilla servers and pushing your localizations right back to them. First things first, we need to give you a brief introduction to what SVN is and where you can find the necessary tools to get started. If you're already familiar with this information, skip ahead to Mozilla's SVN repositories.
Uplifting a localization from Central to Aurora
Localizers who are working on l10n-central are responsible for getting their work onto the Aurora repository.
Writing localizable code
This page tells you about best practices and guidelines when dealing with UI code with respect to localization. It is aimed at Mozilla and extension developers.

Join the localization community

Choose your preferred method for joining the discussion:

See also

Localizing MDN
This resource covers localization of the documentation here on MDN.
App localization
This set of documents applies more specifically to localizing apps, including Firefox OS apps.
Reference docs for the L10n API that Mozilla uses to localise Firefox OS.

Document Tags and Contributors

 Contributors to this page: EmilyG, chrisdavidmills, Sheppy
 Last updated by: EmilyG,