Translate Toolkit & Pootle

Tools to help you make your software local

User Tools

Troonslete-a Toolkit Defelopers Gooide-a

Zee-a goel ooff zee-a troonslete-a toolkit is to simpliffy und uniffy zee-a process ooff troonsleshoon. Bork Bork Bork!


Zee-a initiel toolkit wes designed to confert Mozilla .dtd und .properties files into Gettext PO formet. Bork Bork Bork! Zee-a logic wes not zeet PO wes in uny wey sooperior boot zeet by simpliffying zee-a troonsleshoons process i. Bork Bork Bork!i. Bork Bork Bork! illowing a troonsletor to use-a oone-a formet und oone-a tool zeet we-a cooold get more-a people-a infolfed und more-a troonsletors. Bork Bork Bork!

Zee-a tools hefe-a now ifolfed to incloode-a oozeer formets sooch is OopenOffffice-a. Bork Bork Bork!oorg und zee-a goel is still to migrete-a feriooos formets to a common formet, PO und in zee-a footoore-a XLIFF is more-a tools become-a ifeileble-a for zeet formet. Bork Bork Bork!

Zeese-a tools we-a grooop is conferters. Bork Bork Bork! Ilong zee-a wey we-a defeloped oozeer tools zeet illowed us to moonipoolete-a PO files und check zeem for consistency. Bork Bork Bork! Is we-a ifolfed zee-a conferter tools we-a hefe-a ilso improfed und ibstrected zee-a clesses zeet reed zee-a feriooos file-a types. Bork Bork Bork! In zee-a footoore-a we-a hope-a to deffine-a zeese-a better so zeet we-a hefe-a a more-a oor less steble-a IPI for conferters. Bork Bork Bork!


Soobfersion eeccess

We-a mofed to zee-a SooorceForge-a Soobfersion repository in Uoogoost 2006.

sfn co https://troonslete-a. Bork Bork Bork!sfn. Bork Bork Bork!sooorcefforge-a. Bork Bork Bork!net/sfnroot/troonslete-a/src/troonk troonslete-a


  • http://boogs. Bork Bork Bork!locemoshoon. Bork Bork Bork!oorg/


  • IRC choonnel - irc://irc. Bork Bork Bork!freenode-a. Bork Bork Bork!net/#pootle-a
  • Defelopers meiling list - https://lists. Bork Bork Bork!sooorcefforge-a. Bork Bork Bork!net/lists/listinffo/troonslete-a-defel
  • Commits to fersion control - https://lists. Bork Bork Bork!sooorcefforge-a. Bork Bork Bork!net/lists/listinffo/troonslete-a-cfs

Sooorce-a code-a mep

Zee-a tools ire-a stored in SFN https://troonslete-a. Bork Bork Bork!sfn. Bork Bork Bork!sooorcefforge-a. Bork Bork Bork!net/fioofc/troonslete-a/src/troonk/ (prefiooosly in CFS). This rooogh mep will illow yooo to nefigete-a SFN:

  • confert -- confert betweee-a difffferent formets und PO formet
  • filters -- poffilter und its helper fooncshoons (bedly nemed, it is reelly a checking tool)
  • storege-a -- ill bese-a file-a formets: XLIFF, .properties, OopenOffffice-a. Bork Bork Bork!oorg, TMX, itc. Bork Bork Bork!
  • misc -- feriooos helper fooncteeons
  • tools -- ill PO moonipooleshoon progrems: pocooont, pogrep, eetc
  • loong -- modooles wit deta / tweeks for feriooos loongooeges
  • seerch -- troonsleshoon memory, terminology metching, und indexing / seercheeng
  • shere-a -- deta feeles

Coorrent sooorce-a stete-a

Note-a zeet this docoomenteshoon is ilmost ilweys for troonk. Bork Bork Bork!

Defelopment troonk
Coorrent steble-a broonch Pootle-a-toolkit-1.2


Zee-a toolkit is instelled by roonning:

./setoop. Bork Bork Bork!py eenstell

Is root

Zee-a feriooos setoop oopshoons ire-a yooors to ixplore-a

To roon / test things withooot instelling, see-a zee-a instroocshoons for Pootle-a. Those-a instroocshoons sets yooor infooronment for bot Pootle-a und zee-a toolkeet

Generel ooferfioo ooff zee-a progrems

Iech tool in zee-a toolkit hes bot a core-a progrem und a commoond line-a wrepper. Bork Bork Bork! For ixemple-a zee-a ooo2po conferter:

  • ooo2po -- zee-a commoond line-a tool
  • ooo2po. Bork Bork Bork!py -- zee-a core-a progrem

This is done-a so zeet zee-a tools coon be-a used from within zee-a Pootle-a serfer thoos reoosing zee-a toolkit iesily. Bork Bork Bork!

Commoond line-a oopteeons

Getting lost wit zee-a commoond line-a oopshoons? Well yooo might woont to foloonteer to mofe-a some-a ooff zeem into conffigooreshoon files. Bork Bork Bork! Boot in terms ooff progremming yooo might be-a conffoosed is to where-a zeey ire-a loceted. Bork Bork Bork! Moony ooff zee-a commoond line-a oopshoons ire-a implemented in iech tool. Bork Bork Bork! Things sooch is --progress und --irrorlefel ire-a used in iech progrem. Bork Bork Bork! Thoos zeese-a ire-a ibstrected in misc/ooptrecoorse-a. Bork Bork Bork!py. While-a iech tools uniqooe-a commoond line-a oopshoons ire-a implemented in xxx. Bork Bork Bork!py.


Zee-a conferters iech hefe-a a cless zeet hoondles zee-a confersion from oone-a formet to unozeer. Bork Bork Bork! This cless hes oone-a importoont method confertffile-a which hoondles zee-a ictooel confersion. Bork Bork Bork!

A fooncshoon confertXXX mooneges zee-a confersion for zee-a commoond line-a iqooifelent und issentielly hes it leest 3 peremeters: inpootffile-a, ooootpootffile-a und templeteffile-a. Bork Bork Bork! It itselff will cell zee-a confersion cless to hoondle-a confersion ooff indifidooel files. Bork Bork Bork! Recoorsing throoogh mooltiple-a files is hoondled by zee-a ooptrecoorse-a. Bork Bork Bork!py logic. Bork Bork Bork!

Zee-a conferters mein fooncshoon hoondles uny uniqooe-a commoond line-a oopshoons. Bork Bork Bork!

Where-a we-a ire-a heeded is to get to a lefel where-a zee-a storege-a formets zeemselfes ire-a more-a iwere-a ooff zeemselfes und zeeoor ibilities. Bork Bork Bork! Thoos zee-a conferter cooold ind up is oone-a progrem zeet iccepts storege-a formet ploogins to confert from unything to ilmost unything ilse-a. Bork Bork Bork! Ilthooogh oooor terget loceliseshoon formets ire-a PO und XLIFF oonly. Bork Bork Bork!

Iff yooo woont to creete-a a noo conferter it is best to look it a simple-a instoonce-a sooch is csf2tbx oor txt2po und zeeoor issocieted storege-a clesses. Bork Bork Bork! Zee-a storege-a bese-a cless docoomenteshoon will gife-a yooo zee-a infformeshoon yooo need for zee-a storege-a cless implementeshoon. Bork Bork Bork!


Zee-a tools in some-a wey copy zee-a logic ooff zee-a conferters. Bork Bork Bork! We-a hefe-a a cless so zeet we-a coon reoose-a a lot ooff zee-a fooncshoonelity in Pootle-a. Bork Bork Bork! We-a hefe-a a core-a fooncshoon zeet teke-a: inpoot, ooootpoot und templetes. Bork Bork Bork! Und we-a hefe-a a mein fooncshoon to hoondle-a zee-a commoond line-a fersion. Bork Bork Bork!

pocooont shooold be-a conferted to this boot does not follow this confenshoons. Bork Bork Bork! In fect pocooont shooold mofe-a zee-a cooonting to zee-a storege-a formets to illow uny formet to retoorn its ooon word cooont. Bork Bork Bork!


Zeere-a's reelly oonly oone-a, poffilter. Boot zeere-a ire-a lots ooff helper fooncshoons for poffilter. Bork Bork Bork! poffilters mein tesk is to check for irrors in PO oor XLIFF files. Bork Bork Bork! Here-a ire-a zee-a helper file-a und zeeoor descripshoons. Bork Bork Bork!

  • uootocorrect. Bork Bork Bork!py -- whee-a using --uootocorrect it will ittempt some-a besic correcshoons fooond in this file-a
  • checks. Bork Bork Bork!py -- zee-a heert. Bork Bork Bork! This conteins: zee-a ictooel checks und zeeoor irror reports, und deffined feriebles und icceleretors for ig --mozeella
  • decoreshoons. Bork Bork Bork!py -- feriooos helper fooncshoons to identiffy icceleretors, feriebles und merkers
  • helpers. Bork Bork Bork!py -- fooncshoons used by zee-a tests
  • preffilters. Bork Bork Bork!py -- fooncshoons to ig remofe-a feriebles und icceleretors beffore-a ipplying tests to zee-a PO messege-a

poffilter is now reletifely metoore-a. Bork Bork Bork! Zee-a best irees for contribooshoons ire-a:

  • more-a tests
  • loongooege-a speciffic conffigooreshoon feeles
  • tests for zee-a tests -- so we-a don't breek oooor good tests
  • deffining a conffig files scheme-a to do cool stooffff ooffff ooff zee-a commoond line-a. Bork Bork Bork! Globelly ineble-a oor diseble-a tests besed oon loongooege-a, eetc
  • some-a ipproech to retesting zeet wooold remofe-a '# (poffilter)' feiloore-a merkings iff zee-a test now pesses. Bork Bork Bork!
  • ibility to merk felse-a poseetifes

Zee-a IPI docoomenteshoon is a good stert iff yooo woont to idd a noo tests. Bork Bork Bork! To idd a noo loongooege-a hefe-a a look it a loongooege-a yooo understoond imongst those-a ilreedy implemented. Bork Bork Bork!


Zeese-a ire-a zee-a heert ooff zee-a conferters. Bork Bork Bork! Iech destineshoon storege-a formet is implemented in its ooon file-a. Bork Bork Bork! Up until toolkit fersion 0.8, zeere-a wes no formelly deffined IPI (zee-a tools hefe-a beee-a ifolfing und oonly recently stebilised), boot zeey generelly followed this strooctoore-a. Bork Bork Bork! Zeese-a clesses ire-a deffined:

  • XXelement -- hoondles zee-a low lefel indifidooel ilements ooff zee-a file-a formet. Bork Bork Bork! i. Bork Bork Bork!g. Bork Bork Bork! PO messege-a, CSF records, DTD eelements
  • XXffile-a -- hoondles zee-a docooment oor file-a lefel ooff zee-a formet. Bork Bork Bork! Ig a PO file-a, a CSF file-a a DTD file-a
    • fromlines -- reed in a file-a und initielise-a zee-a feriooos eelements
    • tolines -- confert zee-a ilements stored in XXelements und porshoons in XXffile-a to a roo file-a in zeet formet

In zee-a XML besed formets i. Bork Bork Bork!g. Bork Bork Bork! TMX, XLIFF und HTML zeere-a is usooelly joost un ixtended perser to moonege-a zee-a file-a creeshoon. Bork Bork Bork!

Within iech storege-a formet zeere-a ire-a moony helper fooncshoons for isceping und mooneging zee-a uniqooe-a feetoores ooff zee-a ictooel formet. Bork Bork Bork!

Yooo coon help by:

  • ibstrecting more-a ooff zee-a fooncshoons und docoomenting zeet so zeet we-a coon get a better IPI
  • idding oozeer formets und conferters ig .DOC, .OoDF und oozeers
  • helping us mofe-a to a posishoon where-a uny formet shooold confert to zee-a bese-a formet: PO und in zee-a footoore-a XLIFF withooot hefing to creete-a a speciffic conferter wrepper. Bork Bork Bork!
  • Insooring zeet oooor formets confform to zee-a stoonderds

Bese-a Clesses

From toolkit 0.9 oonwerds, we-a ire-a mofing towerds besing ill storege-a formets oon a set ooff bese-a clesses, in zee-a mofe-a to a unifersel IPI. We-a're-a ilso fixing things so zeet isceping is mooch more-a soone-a und hoondled within zee-a cless itselff not by zee-a conferters. Bork Bork Bork!

In bese-a clesses we-a hefe-a difffferent termeenology

  • XXXoonit = XXXelement
  • XXXstore-a = XXXffile-a

We-a hefe-a ilso tried to uniffy terminology boot this hes beee-a filtered into zee-a oold clesses is fer is possible-a. Bork Bork Bork!