Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous localisation with Pootle (1st draft)

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →
Avatar for phlax phlax
September 21, 2016

Continuous localisation with Pootle (1st draft)

Avatar for phlax

phlax

September 21, 2016

More Decks by phlax

Other Decks in Technology

Transcript

  1. Translate house • began promoting support for minority languages in

    FLOSS software, particularly in South Africa • enabled adoption of FLOSS within public sector • raised awareness of the importance of localisation within FLOSS communities • brought together and supported localisation communities • since then Dwayne Bailey has worked with many projects and localisation initiatives
  2. Our work today • providing and supporting tools for localisation,

    particularly software localisation • Translate Toolkit - parsers and converters for localisation formats • Pootle - Online translation tool • supporting and promoting a wider open source localisation ecosystem
  3. Continuous localisation • Broadly taking from the concept of continuous

    integration in software – automated building and testing – development monitoring and notifications – shared "upstream" – distributed repositories – versioning, forking and diffing • How applicable is it in the localisation context? • Are there other factors in localisation?
  4. Build automation and test cycle • Some of the tools

    for automated quality control are there - eg quality checkers • Less so in terms of build testing, monitoring and notifications • Create a virtuous cycle of improvement • Build organisational memory
  5. The Fork, the fork, and the git fork • Prior

    to distributed versioning forking was generally frowned upon • Not all forks are the same - Eric Raymond talks of "pseudo-forks" in Cathedral and the Bazaar • Distributed versioning allowed: – local branches – multiple upstreams – tools to work with them • The real change came with tools to work between branches
  6. Fork me on github • Allowed developers to maintain separate

    branches and easily re-integrate changes • Central to this were diffing tools and in particular the "Pull Request" • Forking, branching and merging could also be possible in localisation with the right tools • These tools are essential for localisation to mirror what is happening in the software
  7. Other aspects of continuous integration in localisation • Translation Memory

    • Machine translation • Terminology • Offer possibilites of: – Automation – Quality control/linting – Collaboration/shared resources
  8. Pootle the PO editor • started out mostly file-based and

    file-focused • PO-centric, although ttk allowed compatibility with other formats • some support for "monolingual" formats and vcs previously
  9. Continuous localisation with Pootle • making Pootle performant/scalable • moving

    away from file-based view of localisation data • adding continuous integration processes to the Pootle project
  10. Native format support • adding support for multiple formats •

    internally still using a a PO-like representation • customizable/native ui support • de/serialization to/from and between formats
  11. Pootle fs • Flagship project to restore vcs integration •

    Added a pluggable synchronization engine • localfs/git/mercurial support so far • Still in beta but well tested and fairly stable
  12. Future plans • Exploring use of XLIFF: – data-interchange between

    platforms – Internal format representation • Improved revision support • Diff tools for showing changes between revisions and potentially localisation “branches” • Improved notifications and web-sockets