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

Use cases for Transtats in the Fedora community

Use cases for Transtats in the Fedora community

Presented in Flock (the Fedora Project's annual contributor-focused conference) 2019 at The Danubius Hotel HELIA, Budapest, Hungary.

Sundeep Anand

August 09, 2019

More Decks by Sundeep Anand

Other Decks in Programming


  1. Many of the fedora software packages seem ineffective to cater

    native language users, because of a lot of reasons. However, translation statistics at platforms tell a different story. CAN WE REDUCE THE GAP?
  2. Transtats transtats.org Transtats 0.7.5 • Use case based UI designs

    • Better coverage reports • Transifex and Weblate support Today Transtats 0.7.0 • PatternFly UI • Basic celery setup • Transtats deployed in fedora Spring 2019 Transtats 0.1.5 • Sync with Koji build system • YML based Jobs framework • Openshift Deployment Spring 2018 Transtats 0.1.6 • API Authentication • Track String Change Job • PostgreSQL 9.2 db back port Autumn 2018 Transtats 0.1.4 • Sync with Translation Platforms • Manage Languages, Releases • Package Branch Mapping • Initial APIs, Fedora Authentication Autumn 2017
  3. Software Package Localisation i18n framework i18n-ed app POT, PO, MO

    INI, JSON PROP, DTD RC, RESX XML, YML あ A DamnedLies Pootle Transifex Weblate Zanata srpm, rpm dsc, deb pkg jar, apk msi git, svn, bzr, etc. yum, apt (dpkg), brew, etc. build ship extract merge push pull ➔ Is everything translated packaged and built? ➔ Are all strings pushed to translation platform latest to software repositories? ➔ How about release readiness?
  4. Is everything translated packaged? 1. Package Translation Completeness a. Upstream-Platform-Downstream

    b. Diff (language specific) c. Branch mapping 2. Translation Coverage a. Insights
  5. Package Translation Completeness There are translated strings in the Translation

    Platform to be pulled and packaged for Kazakh. Translated messages could not make 100% in the built package for Zulu.
  6. Translation Coverage Either follow tags mapped with branch for packages

    or override and select one or multiple tags. Every release is associated with a language set. Either follow that or select one or more languages.
  7. Are all strings pushed to translation platform latest to software

    repositories? Job to detect String Change job: exception: raise execution: sequential name: string change package: %PACKAGE_NAME% release: %RELEASE_SLUG% return_type: json tasks: - clone: - name: git repo - branch: master - generate: - name: POT file - domain: %PACKAGE_NAME% - cmd: cd po && intltool-update --pot --gettext-package=%PACKAGE_NAME% - download: Platform POT file - calculate: Diff type: stringchange
  8. Transtats Support Translation Platforms i18n Frameworks (file formats) Build Systems

    Version Control ( POT, PO, MO ) ( koji - srpm/rpm - yum/dnf ) ( pagure, github, gitlab, bitbucket, etc.) * logo(s) belong to their respective owners. . . . . . . . .
  9. Transtats CLI ➔ Upstream developers ➔ Package maintainers ➔ Translators

    Commands • Coverage • Job • Package • Release • Version dnf install python3-transtats-cli