Translate Toolkit & Pootle

Tools to help you make your software local

User Tools

Training on ooo-build



  • Simplify building
  • System for maintaining patch sets
  • Some enhancements to the build system
  • Enhance community around building


Learn how to use these! They will make your life much easier!


  • Perseverance
  • Willingness to ask questions
  • Willingness to get stuck in and try work it out yourself

Run through Build

Basic Building

Hands-on building based on source tree. Follow Getting It, Building, Installing, Running on wiki (for Linux)

  • write simple shell script to remember your config options, use if you're going to tweak
  • Use tee -a to create logs of builds
  • --html in build call is nice too
  • You have to follow a cycle of waiting for an error, fixing it and continuing.

While the build is in process deal with other issues.

dealing with build problems

  • Look at what the error message is, where it happens
  • Work out the key phrases from the log files
  • Search issuezilla, see if you can find it
  • If not file an issue first while you try figure it out
  • Make sure issues / reports are clear and make it easy for others to understand
  • If you fix it yourself, mark the issue fixed and explain how you did it - then others can learn
  • if the problem relates to ooo-build - patches etc, then next step after filing is IRC
  • if its a more general problem then use the dev mailing list for the appropriate project (subscribe!)
  • always try and make sure that if somebody finds your mail /issue and you fixed the problem you explained how
  • Keep notes! Wikis etc

Typical problems

  • Perl Modules need installing. Use CPAN
  • Library development files need installing. Use your package manager
  • Java - really easier with Sun's Java, particularly if you have an old gcj

Patch problems

  • Sometimes a patch hasn't been applied but is in applied_patches. Remove it from there, remove stamp/patch.apply, run Make again
  • When patches fail to apply you can fix them up or exclude them from the list of patches by commenting them out in the apply file
  • If things get too hard, ask for help
  • If things get totally messed up, make clean / make distclean and start again (ccache helps here)

ooo-build source structure

  • configure command, options
  • bin directory - description of different files in wiki
  • src directory - downloads required files here (uses bin/download)
  • patches directory, how apply works, unapplying reapplying etc
  • how to deal with patches that don't apply / cause problems
  • stages - configure, download, unpack, patch, create themes etc, build

Building for localization

  • --with-lang flags
  • where to put the GSI files (src dir)
  • rebuilding quickly
  • generated install files - basic language included in install, language packs
  • resource files and config that contains localization
  • disk space etc


  • see install-dict etc in bin directory
  • can add dictionaries in src dir like GSI files - picks up if right name
  • list of dictionaries in bin/install-dictionaries
  • this does some hacking to the install structure, not tested by me :-)
  • --without-myspell-dicts option is default in configure, this might cause problems

Building on Windows

  • Your life is much easier with ooo-build
  • You really need the full version of Visual Studio unless you want to hack around
  • Also all the SDKs etc they say - download them all to start with!
  • Install into standard directories to save yourself headaches
  • Hopefully some day this will work simply with free compilers
  • ooo-build should automatically find all the right stuff
  • cygwin snapshots etc for freezes, how to unfreeze stuff
  • Generates MSI files, you can also copy modified things into a build tree

Testing and Debugging

  • Install, run, check everything looks translated!
  • If not you have to dig into the files, but most often the process works, so check your translations

Submitting stuff back

  • Get on the mailing list
  • Have an account on
  • Submit issues for ihi with your GSI files
  • Keep track of release times, try and get your GSI files up to date
  • Pavel does community builds too (but you're doing your own) - but nice to get the official builds right