Slide 1

Slide 1 text

Introduction to - Sundeep Anand (suanand) Transtats

Slide 2

Slide 2 text

Product Proliferation hello world Bonjour le monde こんにちは世界 Hai dunia Здраво свету Ciao mondo ஹேலா உலக مﻟﺎﻌﻟﺎﺑ ﺎﺑﺣرﻣ Some Awesome Product

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

Package localization cycle

Slide 6

Slide 6 text

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?

Slide 7

Slide 7 text

Transtats Demo (recorded)

Slide 8

Slide 8 text

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.

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Join freenode channel #fedora-g11n #transtats