$30 off During Our Annual Pro Sale. View Details »

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. Introduction to
    - Sundeep Anand (suanand)
    Transtats

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  5. Package localization cycle

    View Slide

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

    View Slide

  7. Transtats Demo
    (recorded)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  11. Join freenode channel #fedora-g11n #transtats

    View Slide