Localizing ChatZilla

This page explains the process for localizing ChatZilla but does not go into depth on more general issues, such as using Mercurial or localizing SeaMonkey. You will need basic command-line skills. If you have any questions or issues localizing ChatZilla, or just want to chat with fellow users and developers, feel free to drop by in #chatzilla on moznet.


This text is used to refer to the locale code for your localization. You should replace every occurance with your localization's correct code. For example, French would likely use 'fr-FR'.


1. Get the source code

With Mercurial

  1. Open a terminal or Command Prompt.
  2. Navigate to the folder you want to store the code using the cd command.
  3. Run the command "hg clone http://hg.mozilla.org/chatzilla" - this will take a short while.

Without Mercurial

  1. Download the ZIP archive.
  2. Extract the files into the folder you want to store the code.

2. Make locale directory

To get started on your localization, copy the locales/en-US directory to locales/ab-CD. Remember that ab-CD should be named after the language code of the locale you're writing a localization for.

3. Localize files

You need to localize the following files:

While you are localizing these files, please remember:

4. Make locale package

You can create a locale package at any time to check how things are coming along, or when you're done. Please note that this will overwrite a locale package of the same language and version.

  1. Open a terminal or Command Prompt.
  2. Navigate to the xpi folder inside the ChatZilla code using the cd command.
  3. Run the command "python makexpi.py ab-CD".

If all goes well, a xpi/chatzilla-ab-CD-version.xpi file will be created. This file installs only your localization - that means users will have to install ChatZilla separately. It can also be used by SeaMonkey users to localize their preinstalled ChatZilla.

5. Test your localization

  1. In the host application (Firefox, SeaMonkey, etc.), open the xpi/chatzilla-ab-CD-version.xpi file, e.g. from the menu "File > Open File...".
  2. Restart the host application and open ChatZilla.
  3. Check that all strings fit in the space that they are given.
  4. Check that all %S replacements are working correctly.
  5. Check that each accesskey is used only once in each menu.
  6. ...and all the usual localization checks.

6. Distributing your localization

When you think you have fixed all possible bugs in your localization, you might want to consider releasing it to the public.

Appendix: Bundling your localization with SeaMonkey

It is possible to ship your ChatZilla localization with SeaMonkey for an even more complete Internet experience. Just follow these steps.

1. Get a copy of the l10n repository for your locale

Installing Mercurial was optional in the previous section, but here it's mandatory. After installing it, open a terminal, navigate to a directory where you want to save the l10n repository, and execute the following command:

hg clone http://hg.mozilla.org/releases/l10n/mozilla-aurora/ab-CD

Note that some locales might not have the -CD part here.

2. Make a Mercurial patch containing your localization work

Copy the ab-CD subdirectory from the locales directory in the chatzilla repository to the extensions directory in the l10n repository (you'll need to create the extensions directory if it doesn't exist) and rename the new copy from 'ab-CD' to 'irc'. After doing so, open a terminal, navigate to the l10n repository and execute the following command:

hg diff > /%S/chatzilla-locale.patch

where %S is the path to your desktop. This will create a file that, in Mercurial terminology, is called a "patch".

3. Create a bug to get the patch into Mercurial

Create yourself an account on Mozilla's Bugzilla, then file a bug.

Finally, press the 'Submit Bug' button. You will receive an email notification when someone has uploaded the patch.

4. Create a bug to get your locale built

Wait for someone to upload the patch to Mercurial, then file another bug.

5. Download SeaMonkey with ChatZilla

Once your locale has been added to all-locales, you could either try a nightly build, or wait for an official release.