Presented talk in FOSSASIA Summit 2018 at Lifelong Learning Institute, Singapore
- Sundeep Anand (suanand)
Bonjour le monde
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
Collaboration between …
● l10n managers
● Quality Engineers
Many packages participate making a localized UI
Software String Freeze Translation Deadline Beta Freeze Final Freeze
Package localization cycle
● 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
Release Schedule and Build System [Releases]
GitHub and Pagure
trans diff, check
scratch builds with latest
$ git clone transtats
$ sudo vagrant up
$ sudo vagrant ssh
$ cd /workspace
$ make run
● A simple django application
● Uses requests to talk to several services
● Few APIs written in Django REST
● Forms are in django-crispy-forms
● Uses PostgreSQL database
● Uses fixture to load test data
● Uses click framework
● Consume Server APIs
● Few commands
● Selenium Project
● Ansible playbooks
Join freenode channel #fedora-g11n #transtats