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

Transtats Introduction

Transtats Introduction

Presented talk in FOSSASIA Summit 2018 at Lifelong Learning Institute, Singapore

Sundeep Anand

March 25, 2018
Tweet

More Decks by Sundeep Anand

Other Decks in Programming

Transcript

  1. Product Proliferation hello world Bonjour le monde こんにちは世界 Hai dunia

    Здраво свету Ciao mondo ஹேலா உலக مﻟﺎﻌﻟﺎﺑ ﺎﺑﺣرﻣ Some Awesome Product
  2. How fedora achieve this? Development of ... • i18n core

    components ◦ Fonts and its config ◦ Input methods, dictionaries ◦ Rendering stack/modules ◦ Locale support ◦ Typing boosters ◦ Many more... • Translation platform • Others Collaboration between … • Developers • l10n managers ◦ Translators • Quality Engineers
  3. Many packages participate making a localized UI Mar 21 Apr

    9 Jan 15 Feb 22 Nov 10 Software String Freeze Translation Deadline Beta Freeze Final Freeze Pagure zanata koji
  4. Some challenges... • How to track... ◦ Strings of all

    participating packages have been pushed/pulled to/from Zanata on time? ◦ Latest strings are being packaged and build in koji? • What is the volume of translation required for next fedora release? • Can we fix major translation bugs reported after translation deadline, before final freeze? To ensure targeted language shall ship. • Which set of languages need attention? And who should handle/fix? • Is there any way to automate some of these steps?
  5. An attempt towards solution... • How to track... ◦ Strings

    of packages have been duly pushed/pulled to/from Zanata? ◦ Latest strings are being packaged and build in koji? • What is the volume of translation required for next fedora release? • Can we fix major translation bugs reported after translation deadline, before final freeze? • Which set of languages need attention? • Is there any way to automate few steps? • By comparing translation statistics derived from different places: upstream repository, translation platform and build system. • Transtats release summary can tell us volume of translation required per languages (summing up statistics of all packages). • YAML based job can parse packaged SRPM to check criticality of translation bugs. • Transtats can answer - which packages are out of sync (has diff) and in which languages? • By adding a few more tasks to YAML, automation can be achieved.
  6. How transtats works? Transifex, Zanata and Damned Lies [Translation Platform]

    Release Schedule and Build System [Releases] GitHub and Pagure [Upstream] notifications schedule jobs stats snapshots work estimation trans diff, check scratch builds with latest
  7. Lets Make Transtats Better Together... $ git clone transtats ...

    $ sudo vagrant up $ sudo vagrant ssh $ cd /workspace $ make run http://localhost:8080 Transtats Server • A simple django application • Uses requests to talk to several services • Few APIs written in Django REST Framework • Forms are in django-crispy-forms • Uses PostgreSQL database • Uses fixture to load test data Transtats CLI • Uses click framework • Consume Server APIs • Few commands Transtats Automation • Selenium Project Transtats Ansible • Ansible playbooks Project: http://transtats.org Docs: http://docs.transtats.org Source: https://github.com/transtats