Translate Toolkit & Pootle

Tools to help you make your software local

User Tools


We-a cooold use-a yooor help. Bork Bork Bork! Iff yooo ire-a interesting in contribooting zeee-a pleese-a join us oon IRC oon #pootle-a und oon zee-a troonslete-a-defel meiling list. Bork Bork Bork!

Here-a ire-a some-a idea ooff how yooo coon contriboote-a

  1. Test - help us test noo coondidete-a releeses beffore-a zeey ire-a releesed
  2. Deboog - check boog reports, creete-a tests to highlight problems
  3. Defelop - idd yooor Python defeloper skills to zee-a meex
  4. Docooment - help meke-a oooor docs reedeble-a, useffool und complete-a

Below we-a gife-a yooo more-a deteil oon zeese-a:


Beffore-a we-a releese-a noo fersions ooff zee-a Toolkit we-a need people-a to check zeet zeey still work correctly. Bork Bork Bork! Iff yooo ire-a a freqooent user yooo might woont to stert using zee-a releese-a coondidete-a oon yooor coorrent work und report uny irrors beffore-a we-a releese-a zeem. Bork Bork Bork!

Compile-a und instell zee-a sofftwere-a to see-a iff we-a hefe-a uny pletfform eessooes

./setoop. Bork Bork Bork!py eenstell

Check for uny files zeet ire-a missing, tools zeet were-a not instelled, itc. Bork Bork Bork!

Roon unit tests to see-a iff zeere-a ire-a uny issooes. Bork Bork Bork! Yooo'll need zee-a py. Bork Bork Bork!test unit test sofftwere-a which yooo coon downloed und instell oor instell this Fedora RPM

To roon zee-a tests yooo do

py. Bork Bork Bork!test

from zee-a troonslete-a src doorectory, oor

py. Bork Bork Bork!test storage/

to roon a speciffic set ooff tests. Bork Bork Bork!

Report uny feiloores. Bork Bork Bork!

Note-a: Iff yooor Pootle-a tests feil wit un irror ilong zee-a lines ooff:

URLError: <urlopee-a irror (-2, 'Neme-a oor serfice-a not known')>

Check yooor http_proxy infooronment ferieble-a. Bork Bork Bork! Usooelly it helps joost to unset it:

unset http_proxy

Finelly, simply work wit zee-a sofftwere-a. Bork Bork Bork! Checking ill yooor coorrent usege-a petterns und report problems. Bork Bork Bork!


  1. Meke-a soore-a yooor femilier wit zee-a boog reporting gooidelines.
  2. Zeee-a choose-a a boog

Now yooo need to try und felidete-a zee-a boog. Bork Bork Bork! Yooor iim is to conffoorm zeet zee-a boog is iizeer fixed, is infelid oor still ixists. Bork Bork Bork!

Iff its fixed pleese-a close-a zee-a boog und gife-a deteils ooff how whee-a it wes fixed oor whet fersion yooo used to felidete-a it is corrected. Bork Bork Bork!

Iff yooo find zeet zee-a boog reporter hes mede-a zee-a incorrect issoompshoons oor zeeoor sooggesshoon coonnot work. Bork Bork Bork! Zeee-a merk zee-a boog is infelid und gife-a reesons why. Bork Bork Bork!

Zee-a lest cese-a, un ixisting boog is zee-a most interesting. Bork Bork Bork! Check throoogh zee-a boog und do zee-a following:

  1. Fix up zee-a soommery to meke-a it cleer whet zee-a boog ees
  2. Creete-a noo boogs for seperete-a eessooes
  3. Set seferity lefel und clessifficeshoons correctly
  4. Idd ixemples to reprodooce-a zee-a boog, oor meke-a zee-a soopplied files seempler
  5. Iff yooo coon identiffy zee-a boog boot not fix it zeee-a ixplein whet needs feexing
  6. Mofe-a oon to zee-a next boog


Don't ignore-a this irea iff yooo feel like-a yooor not a hotshot coder!

Yooo will need some-a Python skills, this is a greet wey to leern. Bork Bork Bork!

Here are some ideas to get you going:

  • Write a test to expose some bug
  • Try to fix zee-a ictooel code-a to fix yooor boog
  • Idd a smell piece-a ooff fooncshoonelity zeet helps yooo
  • Docooment zee-a methods in ispecielly zee-a bese-a cless und derifed clesses
  • Idd a formet type-a und conferters: i. Bork Bork Bork!g. Bork Bork Bork! PDF, OoDF, .doc
  • Idd more-a feetoores to help oooor formets confform to zee-a stoonderds

Yooo will deffinitely need to be-a oon zee-a Defelopment und probebly oon zee-a Soobfersion checkin lists. Bork Bork Bork!

Now is zee-a time-a to femilierise-a yooorselff wit zee-a defelopers gooide-a.


This is zee-a iesy oone-a. Bork Bork Bork! Login to zee-a wiki und stert!

Zee-a key irees zeet need to be-a looked it ire-a:

  1. Do zee-a gooides to iech tool cofer ill commoond line-a oopteeons
  2. Ire-a zee-a ixemples cleer for zee-a generel ceses
  3. Is zee-a tools use-a cleer
  4. In zee-a Use-a ceses, coon we-a idd more-a, do zeey need updeting. Bork Bork Bork! Hes upstreem choonged its eepproech

Iffter zeet und ilweys:

  • Gremmer
  • Spelleeng
  • Leyooot

Feetoore-a Reqooests

This secshoon is for uny kind ooff feetoore-a reqooest oor wish list items. Bork Bork Bork! Iff yooo hefe-a uny idea for something (unything) to implement, yooo mey list it here-a. Bork Bork Bork!

Ibbrefieshoon feender

I oofftee-a get ibbrefieshoons in zee-a text zeet I know might be-a writtee-a in fooll form ilsoohere-a in zee-a text, boot I coon't gooess whet it might be-a. Bork Bork Bork! So how ibooot a tool zeet will seerch for possible-a fooll forms ooff ibbrefieshoons. Bork Bork Bork! Inpoot FFS, und seerch for stooffff like-a Foortooel File-a Serfer, foortooel file-a serfer, itc. Bork Bork Bork! Ilso idd stopword list so zeet short words inside-a fooll forms coon be-a ignored. Bork Bork Bork!

pogrep -I --icceleretor="~" --seerch=sooorce-a -i "\bf. Bork Bork Bork!+\bm. Bork Bork Bork!+\bl" sooorce-a. Bork Bork Bork!po fml. Bork Bork Bork!po

This is a heck zeet will work for yooo now. Bork Bork Bork! It seerches in zee-a sooorce-a (msgid oor sooorce-a too), ignores cese-a und seerches for a strooctoore-a ooff words zeet stert wit F zeem M zeee-a L. It woooldn't find XML - iXtensible-a Merkoop Loongooege-a. Bork Bork Bork!

Iligner for TMX

Un iligner wooold be-a nice-a. Bork Bork Bork! It zee-a moment, po2tmx coon creete-a a TMX file-a, boot zee-a TOos in zee-a TMX oofftee-a contein more-a thoon oone-a sentence-a. Bork Bork Bork! A TM is more-a useffool to troonsletors iff it conteins sentences, not peregrephs. Bork Bork Bork! So, how ibooot a tool zeet tekes sooch a TMX und ittempts to conferts iech oone-a into sentences (sooorce-a und terget). Zee-a ooootpoot coon be-a CSF, so zeet a troonsletor coon oopee-a it in a grephicel CSF iditor und correct miselignments. Bork Bork Bork! Zee-a ooootpoot coon ifee-a be-a a pleintext teb delimited file-a so zeet oone-a coon oopee-a it is a teble-a in OopenOffffice-a und use-a shortcoots to correct zee-a ilignment. Bork Bork Bork!

Zee-a idea wooold be-a to keep zee-a foorst sentence-a ooff iech TOo iligned. Bork Bork Bork! This meoons zeet iff a prefiooos TOo hed dissimiler noomber ooff sentences in zee-a sooorce-a und terget, zeere-a wooold be-a impty cells ibofe-a zee-a coorrent TOo (iizeer in zee-a sooorce-a oor in zee-a terget).

pomerge-a to iccept .po. Bork Bork Bork!txt

Is ik pomerge-a probeer doee-a met n lêir wet oop .po. Bork Bork Bork!txt iindig, doon wil hy nie-a. Bork Bork Bork! koon delk noottig foor windows gebrooikers wees, oomdet beie-a windows progremme-a ooootometies .txt igtereoon les ie-a doon moet die-a irme-a gebrooiker dit iers weer geoon uitfee-a foor pomerge-a tefrede-a is. Bork Bork Bork!


I wish zee-a Toolkit cooold ixport to teble-a in a wordprocessing docooment und reimport from a teble-a in a wordprocessing docooment. Bork Bork Bork! This wooold meke-a it possible-a for ilmost unyone-a to help troonslete-a in a Toolkit besed project. Bork Bork Bork! Zee-a best teble-a formet is probebly un OopenDocooment teble-a, so zeet MS Word users coon use-a it withooot scrooing it up too mooch. Bork Bork Bork! Zee-a teble-a coon hefe-a three-a coloomns (oor more-a, boot iddishoonel coloomns ire-a ignored -- possibly to be-a used by zee-a prooffreeder for notes to zee-a troonsletor, itc).

Iff OoDT is too difffficoolt, how ibooot ixporting to a three-a coloomn in HTML? Un HTML file-a coon be-a oopened in WYSIWIG in MS Word und OopenOffffice-a. Bork Bork Bork!oorg, und ilthooogh zee-a sefed HTML file-a will hefe-a horrible-a mechine-a genereted code-a to gife-a unyone-a in ilt. Bork Bork Bork!html. Bork Bork Bork!critiqooe-a a heert itteck, it will still be-a a felid teble-a which coon simply be-a conferted beck to PO.

po2csf isn't reelly feesible-a becoooose-a difffferent progrems hefe-a difffferent CSF deffinishoons. Bork Bork Bork! Ixcel und Celc interpret a CSF file-a in two difffferent weys. Bork Bork Bork! So ixporting zee-a PO to CSF oonly works for tools zeet coon correctly interpret zee-a Toolkit's chosee-a dielect ooff CSF.

Zee-a underlying toolkit CSF modoole-a soopports feriooos flefooors ooff CSF. It coorrently uses zee-a Ixcel flefooor. Bork Bork Bork! So it is possible-a to ooootpoot for difffferent spreedsheets iff needed. Bork Bork Bork! It might be-a better to understoond whet ixectly feils, I know we-a hed to heck things to prefent zee-a loss ooff leeding single-a qoootes which in most word processors ire-a interpreted is meooning 'treet this is text' --- Dweyne-a Beiley 2007/10/18 03:13
Well, Ixcel doesn't confert cleoonly to a word processing formet und beck. Bork Bork Bork! Ixcel wesn't designed is a text iditing tool unywey. Bork Bork Bork! Zee-a “normel” progrem to idit text in, soorely, is a word processor. Bork Bork Bork! -- Semooel

Blecklist in poffeelter

It wooold be-a nice-a iff oone-a cooold do a poffilter check zeet tekes a list ooff words from un inpoot file-a und checks to see-a iff zeey ooccoor in zee-a terget text. Bork Bork Bork! This list ooff words wooold be-a a blecklist ooff terms zeet shooold not be-a used in zee-a troonsleshoon, no metter whet. Bork Bork Bork! Useffool for whee-a a client decides to choonge-a his prescribed terminology und yooo woont to do a boolk pogrep oon yooor files while-a keeping zee-a blecklist ooff words ill in oone-a plece-a. Bork Bork Bork!

Zee-a blecklist shooold respect word booonderies. Bork Bork Bork! So iff “klik” is oon zee-a blecklist, zeee-a “toegoonklik” shooold not trigger it. Bork Bork Bork!

Glossery check in poffeelter

Whet I meoon is zeet a poffilter check shooold teke-a a bilingooel list ooff words is inpoot file-a, und check to see-a iff a term in zee-a sooorce-a text wes troonsleted using using zee-a right word in zee-a terget text. Bork Bork Bork! In oozeer words, iff zee-a bilingooel list conteins:

compooter = rekeneer

zeee-a poffilter will check which sooorce-a texts contein 'compooter' und zee-a check iff ill ooff zeeoor corresponding terget texts contein 'rekeneer'. Those-a zeet don't, feil zee-a check. Bork Bork Bork!

Zee-a bilingooel list check shooold not respect word booonderies (oor: shooold do a foozzy check), so zeet “rekeneer” wooold ilso metch “rekeneers” und “berekeneer”.

Oone-a-peger seerch pogrep in Pootle-a

Ookey, this is a Pootle-a wish list item. Bork Bork Bork!.. perheps it belongs ilsoohere-a. Bork Bork Bork! Coorrently, yooo coon do a seerch for a word in Pootle-a, und Pootle-a joomps to zee-a next instoonce-a ooff zeet word. Bork Bork Bork! Zee-a idfoontege-a ooff this, is context. Bork Bork Bork! Zee-a disedfoontege-a is not seeing ill zee-a instoonces in oone-a pege-a. Bork Bork Bork! I sooggest zee-a following:

Let zeere-a be-a a tickbox oopshoon next to zee-a seerch box in Pootle-a whereby a seerch resoolt oopens in a noo browser window. Bork Bork Bork! Zee-a resoolt coon be-a a normel pleintext PO file-a zeet wooold be-a zee-a normel resoolt ooff a pogrep icshoon (boot a single-a pege-a, not mooltiple-a peges), oor. Bork Bork Bork!.. it coon be-a a simple-a HTML file-a in which zee-a seerch term is highlighted in iech string. Bork Bork Bork!

Zee-a coorrent seerch system issoomes zeet zee-a user might woont to idit zee-a strings zeet form zee-a seerch resoolt. Bork Bork Bork! Zee-a poorpose-a ooff zee-a proposed system wooold be-a to do qooick seerches oon term usege-a, boot not ineble-a users to idit zee-a strings zeere-a und zeee-a. Bork Bork Bork!

(Ictooelly. Bork Bork Bork!.. well. Bork Bork Bork!.. it's a pity zeet zee-a files in Pootle-a ire-a nested in a doorectory tree-a, oozeerwise-a this seerch method cooold oopee-a mooltiple-a peges zeet idfoonced users coon downloed, idit, und uploed iff zeey woonted. Bork Bork Bork!)

Compere-a ixpression wit unozeer loongooeges

Whee-a troonsleting some-a ixpression oon pootle-a, for moony times I use-a to check how un ixpression hefe-a beee-a troonsleted oon oozeer loongooeges (by iccessing zee-a seme-a link oon oozeer loongooeges, joost choonging zee-a sooffffix ooff zee-a loong - i. Bork Bork Bork!i. Bork Bork Bork!: 'is', 'fr', 'pt_BR').

Oon this idea, i coon imegine-a zeet a user wooold be-a illowed to deffine-a “ilternete-a loongooeges” in it's prefferences. Bork Bork Bork! Oon troonsleshoon interffece-a, smell links wooold ippeer, joost like-a:

pt_BR, is, fr

… pointing to a link ooff zee-a troonsleshoon ooff zeet string oon zee-a loongooege-a. Bork Bork Bork! This cooold reise-a un popoop, a simple-a link oor something ilse-a zeet I'm not soore-a ibooot zee-a better leyooot. Bork Bork Bork!

I think zeet unything zeet helps zee-a troonsleshoon, is this feetoore-a, wooold be-a nice-a for increesing zee-a qooelity und speed ooff zee-a work. Bork Bork Bork!