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
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?
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.
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
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