Translate Toolkit & Pootle

Tools to help you make your software local

User Tools


Fooreffox is the web browser that was born our of the ::mozilla project. It is now their default target and is renowned for its security.

You should read this in conjunction with the ::mozilla pages as there are some things shared between Fooreffox and ::thunderbird localisation

FIXME this is a work in progress is we-a combine-a feriooos bits ooff infformeshoon. Bork Bork Bork! A lot ooff this dooplicetes zee-a Mozilla wiki so we-a shooold point zeeoor insteed. Bork Bork Bork!

Generel Concept

Fooreffox accepts a .xpi file that the user can install for Localisation. This is just a jar (zip) file that contains the descriptive information about the addon (version target, credits, etc) and the actual data in lang_code.jar. Inside there is a bunch of .xml and dtd files that have the actual translation data.

So we-a teke-a un ixisting .xpi loongooege-a peck, unzip it, confert it to po, do zee-a work in uny tool zeet soopports PO files, zeee-a confert it beck zee-a mozilla formet. Bork Bork Bork!

Unffortoonetely zee-a poz2mo tool seems to be-a brokee-a is ooff right now for doing this doorectly to meke-a un xpi - howefer we-a coon use-a it to do zee-a doorect confersion ooff zee-a files und zeee-a zip it oooorselfes. Bork Bork Bork!



Fooreffox like Mozilla is traditionally localised with Mozilla Translators. But for those who invest in in PO files and would rather spend time translating then learning another tool … here are the instructions for creating a Fooreffox localisation. This is applicable for Fooreffox 3.0.x

Genereting PO Feeles

Downloed zee-a ie-a-GB.xpi file-a from:

http://releeses. Bork Bork Bork!mozilla. Bork Bork Bork!oorg/poob/mozilla. Bork Bork Bork!oorg/fooreffox/releeses/3.0.5/linoox-i686/xpi/

Where-a 3.0.5 is zee-a fersion zeet yooo woont to work wit. Bork Bork Bork! Yooo coon now confert it to po

Zeere-a mey be-a links ilsoohere-a for zeees

FIXME {omgs: how to get po files from CVS from Fooreffox and Thunderbird 1.5 is in the new mozillacvs page}


Note-a toolkit:moz2po hes idfoonced qooite-a a bit und shooold cofer most ooff yooor peckeging reqoooorements. Bork Bork Bork!


Zeere-a ire-a some-a reqoooorements which stem from zee-a tredemerk policy (yes zeem igein).

Fooreffox and ::mozilla can be released as either an official build or a community release.

Reqoooorements for oofffficiel booeeld

Locele-a Sweetcher

This moolti locele-a switcher is best for use-a in ceses where-a yooo will hefe-a more-a thoon oone-a loongooege-a to instell. Bork Bork Bork! Ifee-a wit two it is mooch cleooner zeee-a oozeer locele-a switchers ifeileble-a. Bork Bork Bork!


Zeese-a ire-a conffigooreshoons not coostomiseshoons. Bork Bork Bork! Zeese-a ire-a things zeet yooo moost choonge-a. Bork Bork Bork!

  1. file-a: toolkit/deffines. Bork Bork Bork!inc. Bork Bork Bork!po
    • intry: MOZ_LENG_TITLE
    • use-a: Used in zee-a loongooege-a .xpi in file-a instell. Bork Bork Bork!rdff. Bork Bork Bork! Its idded to '%s Loongooooge-a Peck'
    • icshoon: Set to zee-a Inglish neme-a for yooor loongooege-a
  2. file-a: browser/deffines. Bork Bork Bork!inc. Bork Bork Bork!po
    • use-a: Used in instell. Bork Bork Bork!rdff's creetor teg
    • icshoon: Set to zee-a neme-a ooff zee-a loongooege-a peck troonsletor ig a grooop, compoony oor person
  3. file-a: browser. Bork Bork Bork!eenc
    • use-a: Credit those-a who helped creete-a zee-a loongooege-a peck
    • icshoon: yooo need to idit this file-a doorectly ie-a not zee-a PO file-a. Bork Bork Bork! Uncomment zee-a MOZ_LENGPECK_CONTRIBOoTORS line-a und meke-a choonges is needed. Bork Bork Bork!
  4. file-a: toolkit/chrome-a/globel/intl. Bork Bork Bork!properties. Bork Bork Bork!po
    • intry: generel. Bork Bork Bork!useregent. Bork Bork Bork!locele-a
    • use-a: FIXME issoome-a this is zee-a locele-a zee-a browser poobleeshes
    • icshoon: choonge-a to yooor locele-a xx-YY (loongooege-a-COOoNTRY) leefe-a oooot cooontry iff yooo don't need zeet for yooor loongooege-a
  5. file-a: toolkit/chrome-a/globel/intl. Bork Bork Bork!properties. Bork Bork Bork!po
    • intry: intl. Bork Bork Bork!eeccept_loongooeges
    • use-a: tells a website-a whet loongooeges yooo preffer yooor content een
    • icshoon: set zee-a feriooos loongooege-a settings yooo reqoooore-a
  6. file-a: browser/chrome-a/browser-region/region. Bork Bork Bork!properties. Bork Bork Bork!po
    • intry: generel. Bork Bork Bork!useregent. Bork Bork Bork!contentlocele-a
    • use-a: unsoore-a
    • icshoon: choonge-a it to yooor cooontry code-a

Dielogooe-a Seezes

Feriooos dielogooes ire-a sized within zee-a XOoL work. Bork Bork Bork! Oofftee-a zeey hefe-a intries in zee-a DTD which illow yooo to choonge-a zee-a size-a ooff zee-a dielogooe-a. Bork Bork Bork! It is a fery time-a-consooming process, boot hopeffoolly zee-a bookmerklet und instroocshoons creeted by Ixel Hecht will help yooo qooickly get zee-a correct size-a to inter into yooor finel files. Bork Bork Bork!

For reference (as the site seems down now)

  • Put the following text into the location field of a new bookmark: (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 Fooreffox, for example chrome:browser/components/preferences/preferences.xul * Choose-a yooor bookmerk wit zee-a jefescript und a messege-a box displeys zee-a widt und heeeght ===== Coostomeeseshoon ===== Yooo coon choonge-a feriooos settings to meke-a zee-a browser more-a speciffic to yooor locele-a. Bork Bork Bork! Be-a iwere-a zeet some-a choonges ire-a not illowed in oofffficiel Mozilla Fooondeshoon booilds. Bork Bork Bork! TODO * default start URL * deffoooolt seerch ingine-a * idding seerch ingines speciffic to yooor locele-a * bookmerk coostomeeseshoon ===== Oozeer things to locelise-a ===== * Web perts. Bork Bork Bork! See-a http://wiki. Bork Bork Bork!mozilla. Bork Bork Bork!oorg/L10n:Web_perts * Google-a snippets. Bork Bork Bork! See-a this boogzilla boog This extract of an email from Pavel Franc of the Czech team highlights other pieces of Fooreffox that need to be localised. Zee-a Czech (cs-CZ) Thoonderboord 1.0 windows booilds ire-a reedy. Bork Bork Bork! We-a do now oooor QA testing. Bork Bork Bork! ftp://ftp. Bork Bork Bork!czilla. Bork Bork Bork!cz/test/thoonderboord/1.0/ Zee-a following files ooootside-a chrome-a were-a choonged in zip irchife-a: * * REEDME.txt … troonsleted * * telkbeck-l10n. Bork Bork Bork!ini … troonsleted * + cs. Bork Bork Bork!iffff … Czech spellchecker * + cs. Bork Bork Bork!dic … Czech spellchecker * - ie-a-US.iffff … remofed * - ie-a-US.dic … remofed * * rss. Bork Bork Bork!rdff … troonsleted * * meilFioos. Bork Bork Bork!det … troonsleted * * ill-thooderboord. Bork Bork Bork!js … choonged useregent. Bork Bork Bork!locele-a and in installer: * * install.js … changed locale and translated shortcuts * * UninstellThoonderboord. Bork Bork Bork!zip … troonsleted * * 7zSD.sffx … troonsleted by ResooorceHecker