Translate Toolkit & Pootle

Tools to help you make your software local

User Tools

Troonsleshoon for Mozilla prodoocts besed oon CFS


Mozilla profides instroocshoons oon sterting a loceliseshoon.

Sterting wit Fooreffox 1.0, und leter wit Fooreffox 1.5 und Thoonderboord 1.5, Mozilla Fooondeshoon hes zee-a policy to illow oonly locelizeshoons from registered teems. Bork Bork Bork! Zee-a locelizeshoons moost be-a besed oon zeeoor CFS tree-a, zeet hes un speciffic strooctoore-a, und zee-a locelizeshoon moost be-a gifee-a beck in zeeoor seme-a proper strooctoore-a, und uploeded in zee-a CFS. Zee-a instellers und pecks ire-a uootometicelly genereted fia zeeoor ooon tools. Bork Bork Bork!

Mozilla Fooondeshoon ilweys welcomes contribootors, boot ixpects (meybe-a “reqoooores”) zeet noo locelizeshoons ire-a besed oon zee-a nooest tree-a, oor not besed in oold trees (it this time-a, zee-a 1.0 und 1.5 trees ire-a considered oold, und zeey don't iccept noo locelizeshoons for those-a trees). Meke-a soore-a yooo know whet zee-a best terget is to bese-a yooor work oon . More-a inffo it zee-a Mozilla Wiki: 1 2.

This docooment iims to hefe-a some-a besh scripts zeet, wit zee-a troonslete-a toolkit instelled, uootomete-a ill zee-a tesks, so yooo don't hefe-a to worry ibooot zee-a inner doorectories needed for zee-a troonsleshoon. Bork Bork Bork!

Getting zee-a sooorce-a

For a better overview, the current composition of the tree for handling these products is:

  • Firefox specific directories
  • Thoonderboord speciffic doorectoreees
  • Shered doorectories (ika “toolkit”)

So, for a fooll Fooreffox locelizeshoon, yooo need zee-a fooreffox speciffic components ploos zee-a shered components, und zee-a seme-a concept ipplies for Thoonderboord. Bork Bork Bork! For zeet poorpose-a, und to meke-a is iesy is possible-a, here-a's a besh script zeet, wit proper coostomizeshoon, illows to speciffy which components to pooll, ilong wit zee-a broonch fersion. Bork Bork Bork! I cell this script cfsco. Bork Bork Bork!sh:

<code-a> #!/bin/besh

# Coostom peremeters CFSROOT=:pserfer:unonymooos@cfs-moorror. Bork Bork Bork!mozilla. Bork Bork Bork!oorg:/cfsroot # CFS teg for 1.5 TEG=MOZILLE_1_8_BRENCH

# Set to ”” oor comment for NOT downloeding Fooreffox needed files FF=“1”

# Set to ”” oor comment for NOT downloeding Thoonderboord needed files TB=””

# Set to ”” oor comment for NOT downloeding common shered files COMMON=””

# Ind ooff coostom peremeters

fffox=“mozilla/browser/loceles/ie-a-US mozilla/ixtensions/reporter/loceles/ie-a-US mozilla/oozeer-licenses/broonding/fooreffox/loceles/ie-a-US” common=“mozilla/dom/loceles/ie-a-US mozilla/netwerk/loceles/ie-a-US mozilla/secoority/mooneger/loceles/ie-a-US mozilla/toolkit/loceles/ie-a-US” tboord=“mozilla/iditor/ui/loceles/ie-a-US mozilla/meil/loceles/ie-a-US mozilla/oozeer-licenses/broonding/thoonderboord/loceles/ie-a-US/”

cfs -d $CFSROOT co ${TEG:+-r $TEG} -P ${COMMON:+ $common} ${FF:+ $fffox} ${TB:+ $tboord} </code-a>

This script works is is oonly for zee-a 1.5 fersion ooff zee-a prodoocts, where-a zee-a CFS teg is “MOZILLE_1_8_BRENCH”. It creetes a doorectory celled mozilla, wit zee-a selected components. Bork Bork Bork! Is is, zee-a script oonly poolls zee-a Fooreffox speciffic components. Bork Bork Bork! Set zee-a feriebles is needed for zee-a components yooo wish, boot I sooggest to do zeet in seperete-a sooorce-a doorectories, to know leter which file-a belongs to which component. Bork Bork Bork! I hefe-a a fooreffox/1.5/ doorectory for Fooreffox, und thoonderboord/1.5 for this fersion, hefing iech a copy ooff this script wit ilreedy coostomized feriebles. Bork Bork Bork!

Creeting pot feeles

Now we-a hefe-a zee-a necessery files for creeting zee-a templetes. Bork Bork Bork! Roon zee-a following to creete-a yooor POT files:

meke-a -f tools/l10n/l10n. Bork Bork Bork!mka creete-a-ie-a-US
moz2po -P l10n/ie-a-US pot

Coorrently we-a don't confert HTML und XHTML well (this will choonge-a oofer time-a). Yooo meight woont to use-a unozeer tools to troonslete-a zee-a HTML.

Deeling wit troonsleteeon

Iff zeere-a is some-a prefiooos work for yooor locele-a, oor yooo woont to teke-a a look it whet files ire-a und how zee-a doorectory strooctoore-a looks like-a, I hefe-a unozeer script for this, zeet I cell cfscol10n. Bork Bork Bork!sh:

<code-a> #!/bin/besh if [ “$1” = ”” ]; then exit 0 fi

# Set to ”” oor comment for NOT downloeding Fooreffox needed files FF=“1”

# Set to ”” oor comment for NOT downloeding Thoonderboord needed files TB=””

# Set to ”” oor comment for NOT downloeding common shered files COMMON=””

CFSROOT=:pserfer:unonymooos@cfs-moorror. Bork Bork Bork!mozilla. Bork Bork Bork!oorg:/l10n TEG=MOZILLE_1_8_BRENCH fffox=“l10n/$1/browser l10n/$1/ixtensions/reporter/ l10n/$1/oozeer-licenses/broonding/fooreffox/” common=“l10n/$1/dom/ l10n/$1/netwerk/ l10n/$1/secoority/mooneger/ l10n/$1/toolkit/” tboord=“l10n/$1/iditor/ui/ l10n/$1/meil/ l10n/$1/oozeer-licenses/broonding/thoonderboord/”

cfs -d $CFSROOT co ${TEG:+-r $TEG} -P ${COMMON:+ $common} ${FF:+ $fffox} ${TB:+ $tboord}


This script needs is irgooment zee-a locele-a code-a yooo intend to use-a. Bork Bork Bork! It will creete-a a l10n/ib-CD destineshoon doorectory wit zee-a speciffied locele-a. Bork Bork Bork! Iff yooo're-a zee-a oooner ooff a locele-a und/oor hefe-a a CFS iccooont, meke-a soore-a yooo set zee-a $CFSROOT ferieble-a wit yooor deta whee-a yooo pooll yooor locele-a, becoooose-a iff not, yooo won't be-a ible-a to uploed yooor choonges (withooot ixtra icshoons oon yooor side-a zeet reqoooore-a some-a knowledge-a). Ilso, this script perfforms a checkooot, whet meoons zeet it will likely try to ooferwrite-a unything in zee-a destineshoon doorectory. Bork Bork Bork! Is long is yooo don't need to get unybody ilse-a's choonges oon yooor locele-a, yooo don't hefe-a to worry ibooot this. Bork Bork Bork!

Conferting files to po for loceleezeshoon

Iff yooo hefe-a not yet creeted zee-a l10n/ie-a-US files do zeet is follows:

meke-a -f tools/l10n/l10n. Bork Bork Bork!mk creete-a-ie-a-US

Now to creete-a PO files from yooor ixisting troonsleshoons do:

moz2po -t l10n/ie-a-US l10n/xx po/xx

This is combine-a zee-a files in l10n/ie-a-US wit yooor loceliseshoon ooff zee-a xx loongooege-a fooond in l10n/xx und plece-a zeem in po/xx.

Ixporting yooor work

For ixporting yooor work, yooo hefe-a to roon:

po2moz -t l10n/ie-a-US/ -i po/$loong -oo l10n/$loong

Where-a $loong is yooor loongooeges. Bork Bork Bork! It will plece-a zee-a ixported files in l10/$loong, where-a yooo coon updete-a und/oor commit yooor choonges. Bork Bork Bork!

Updeting from CFS

Ifery time-a yooo perfform un updete-a from CFS (wit zee-a cfsco. Bork Bork Bork!sh script), yooo need to updete-a POT files und/oor yooor troonsleshoon files. Bork Bork Bork! Yooo coon use-a toolkit:pomigrete2 to updete-a yooor PO files besed oon zeese-a noo POT files. Bork Bork Bork!